Gitea : Système de contrôle de version auto-hébergé, CICD, Runners

Publié le 1er février 2026

« Voir toutes les conférences Contactez-nous
Gitea: Self-Hosted Version Control, CICD, Runners

Introduction

Installez Gitea pour l'intégration continue et la livraison continue (CI/CD) à l'aide de runners, ne nécessitant que 1 Go de mémoire.

Code de test :Code on GitHub

Exigences

Un serveur Ubuntu 24.04 avec 1 Go de mémoire

Mesures

Étape 1 - Mettre à jour Ubuntu

Comme nous avons une nouvelle instance d'Ubuntu, nous devons effectuer quelques mises à jour :

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

Étape 2 - Installer Gitea

Téléchargeons maintenant Gitea, créons un utilisateur Gitea, des répertoires de travail, configurons un service systemd et démarrons 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 'Git Version Control' \

--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'

[Unit]
Description=Gitea (Git avec une tasse de thé)
Après=network.target

[Service]
RestartSec=2s
Type=simple
Utilisateur=git
Groupe=git
Répertoire de travail=/var/lib/gitea/

ExecStart=/usr/local/bin/gitea web --config /etc/gitea/app.ini
Restart=always
Environnement=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea

[Install]
WantedBy=multi-user.target
EOL

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

Maintenant, rendez-vous sur le site web à http://ip.address:3000, Cliquez sur l'interface web pour configurer et vous connecter.

Ensuite, limitez les permissions des fichiers.

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

Étape 3 - FACULTATIVE - Installer Runner

Si vous n'avez pas besoin de runners/actions/CICD, vous pouvez ignorer cette étape.

Vous aurez besoin de Docker, installez-le donc avec ceci et créez un act_runner utilisateur pour cela :

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

Accédez à votre instance web et récupérez le jeton d'exécution depuis Profil - Paramètres - Coureurs


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 {votre jeton}

Vous pourriez tout lancer immédiatement avec ./act_runner-0.2.13-linux-amd64 daemon.

Pour utiliser systemd à la place, poursuivez ci-dessous...

Déplacez tout vers un endroit plus pratique un endroit où nous pourrons tout configurer avec 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'

[Unit]
Description=Actions Gitea Act_runner
Documentation=https://gitea.com/gitea/act_runner
After=network.target docker.service
Requires=docker.service

[Service]
ExecStart=/usr/local/bin/act_runner daemon --config /etc/act_runner/config.yaml
ExecReload=/bin/kill -s HUP $MAINPID
WorkingDirectory=/var/lib/act_runner
TimeoutSec=0
RestartSec=10
Restart=always
User=act_runner

[Install]
WantedBy=multi-user.target
EOL

systemctl daemon-reload
systemctl enable act_runner
systemctl start act_runner

Essayez d'exécuter le code provenant de notre github

Étape 4 - Authentification par clé SSH

Si vous ne souhaitez pas utiliser de nom d'utilisateur et de mot de passe, vous pouvez également utiliser des clés SSH.

Sur la machine hébergeant votre projet/code, créez une clé SSH si vous n'en possédez pas déjà une :

ssh-keygen -t ed_25519

Copiez ensuite le contenu de ~/.ssh/id_ed25519.pub.

Allez à Gitea dans le Profil > Paramètres > Clés SSH/GPG > Gérer les clés SSH > Ajouter une clé et ajoutez votre clé.

Cliquez sur Vérifier la clé. Cela vous donnera une commande à exécuter sur votre machine.~/.ssh/id_ed25519.pub Créez un fichier pour obtenir une signature. Copiez ensuite la signature dans le fichier.Vérifier la clé rapide.