Gitea: Control de versiones autoalojado, CICD, ejecutores

Publicado el 1 de febrero de 2026

« Ver todas las conferencias Contáctenos
Gitea: Self-Hosted Version Control, CICD, Runners

Introducción

Instale Gitea para CI/CD usando ejecutores, requiriendo solo 1 GB de memoria.

Código de prueba:Code on GitHub

Requisitos

Un servidor Ubuntu 24.04 con 1 GB de memoria

Pasos

Paso 1 - Actualizar Ubuntu

Como tenemos una nueva instancia de Ubuntu, necesitamos realizar algunas actualizaciones:

apt-get update; apt dist-upgrade -y; apt-get install -y vim curl git sqlite3;

Paso 2 - Instalar Gitea

Ahora descarguemos Gitea, configuremos un usuario gitea, creemos algunos directorios de trabajo, configuremos un servicio systemd e iniciemos gitea:

wget -O gitea https://dl.gitea.com/gitea/1.25.2/gitea-1.25.2-linux-amd64
chmod +x gitea

adduser \
--system \
--shell /bin/bash \
--gecos 'Control de versiones de Git' \
--group \
--disabled-password \
--home /--home/git \
git

mkdir -p /var/lib/gitea/{custom,data,log}
chown -R git:git /var/lib/gitea/
chmod -R 750 /var/lib/gitea/
mkdir /etc/gitea
chown root:git /etc/gitea
chmod 770 /etc/gitea

cp gitea /usr/local/bin/gitea

cat > /etc/systemd/system/gitea.service <<'EOL'
[Unidad]
Descripción=Gitea (Git con Una taza de té)
Después=network.target

[Servicio]
ReinicioSeg=2s
Tipo=simple
Usuario=git
Grupo=git
DirectorioDeTrabajo=/var/lib/gitea/

InicioDeEjecución=/usr/local/bin/gitea web --config /etc/gitea/app.ini
Reinicio=siempre
Entorno=USUARIO=git INICIO=/home/git GITEA_WORK_DIR=/var/lib/gitea

[Instalación]
DeseadoPor=multi-user.target
EOL

systemctl daemon-reload
systemctl enable gitea.service
systemctl start gitea.service

Ahora vaya al sitio web en http://ip.address:3000, haga clic en la interfaz web para configurar e iniciar sesión.

Luego limite los permisos de archivos

chmod 750 /etc/gitea chmod 640 /etc/gitea/app.ini

Paso 3 - OPCIONAL - Instalar Runner

Si no necesita ejecutores/acciones/CICD, puede omitir este paso.

Necesitarás Docker, así que instálalo con esto y crea un act_runner usuario para ello:

apt-get install -y docker.io;
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

adduser \
--system \
--shell /bin/bash \
--gecos 'act_runner' \
--group \
--disabled-password \
--home /home/act_runner \
act_runner
sudo usermod -aG docker act_runner

Vaya a su instancia web y obtenga el token de ejecución de Perfil - Configuración - Corredores

wget https://dl.gitea.com/act_runner/0.2.13/act_runner-0.2.13-linux-amd64
chmod +x act_runner-0.2.13-linux-amd64
./act_runner-0.2.13-linux-amd64 register --no-interactive --instance http://ip.address:3000 --token {tu token}

Podrías ejecutar las cosas inmediatamente con ./act_runner-0.2.13-linux-amd64 daemon.

Para utilizar systemd en su lugar, continúe a continuación...

Mueva todo a un lugar más conveniente lugar para que podamos configurar todo con systemd:

mv ./act_runner-0.2.13-linux-amd64 /usr/local/bin/act_runner
chmod +x /usr/local/bin/act_runner

mkdir -p /etc/act_runner
mv .runner /etc/act_runner/
/usr/local/bin/act_runner generate-config > /etc/act_runner/config.yaml

sed -i 's/file: .runner/file: \/etc\/act_runner\/.runner/g' /etc/act_runner/config.yaml

mkdir -p /var/lib/act_runner
chown -R act_runner:act_runner /var/lib/act_runner
chown -R act_runner:act_runner /etc/act_runner

cat > /etc/systemd/system/act_runner.service <<'EOL'
[Unidad]
Descripción=Acciones de Gitea Ejecutor
Documentación=https://gitea.com/gitea/act_runner
Después=network.target docker.service
Requiere=docker.service

[Servicio]
Inicio de ejecución=/usr/local/bin/act_runner daemon --config /etc/act_runner/config.yaml
Recarga de ejecución=/bin/kill -s HUP $MAINPID
Directorio de trabajo=/var/lib/act_runner
Tiempo de espera=0
Reinicio=10
Reiniciar=siempre
Usuario=act_runner

[Instalación]
Deseado por=multi-user.target
Fin de vida útil (EOL)

systemctl recargar daemon
systemctl habilitar act_runner
systemctl iniciar act_runner

Intente ejecutar el código de nuestro github

Paso 4: Autenticación de clave SSH

Si no desea utilizar nombre de usuario y contraseña, también puede utilizar claves SSH.

En la máquina con su proyecto/código, cree una clave SSH si aún no tiene una:

ssh-keygen -t ed_25519

Luego copie el contenido de ~/.ssh/id_ed25519.pub.

Ir a Gitea en el Perfil > Configuración > Claves SSH/GPG > > Administrar claves SSH > Agregar clave y añade tu clave.

Haga clic en Verificar clave. Esto le proporcionará un comando que deberá ejecutar en su máquina contra su ~/.ssh/id_ed25519.pub archivo para obtener una firma. Luego copie la firma nuevamente en el Verificar clave inmediato.