
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.