diff --git a/HowtoGitea.md b/HowtoGitea.md index 4b47fab0..5ed7cf65 100644 --- a/HowtoGitea.md +++ b/HowtoGitea.md @@ -3,15 +3,16 @@ title: Howto Gitea categories: sysadmin git forge ... -* Site officiel : +* Documentation : -[Gitea](https://gitea.io/) est un fork de gogs, une solution d'hébergement de code avec git. +[Gitea](https://gitea.io/) est un logiciel libre de gestion de code source permettant de créer des projets avec un dépôt [Git](HowtoGit), des tickets, un wiki et une collaboration autour du code (fork, pull requests, etc.). Gitea est un fork de [Gogs](https://gogs.io/) qui ressemble fortement au logiciel propriétaire *Github*, il est écrit en Go et nous le trouvons simple à installer et maintenir contrairement à [Gitlab](HowtoGitlab/10). ## Installation -Malheureusement, gitea n'est pas distribué sous forme de paquet Debian. Une alternative est donc d'utiliser directement les binaires produits par les développeurs de Gitea. Ils sont récupérables sur . + +Malheureusement, Gitea n'est pas distribué sous forme de paquet Debian. Une alternative est donc d'utiliser directement les binaires produits par les développeurs de Gitea. Ils sont récupérables sur . ~~~ # cd /usr/local/bin @@ -25,19 +26,21 @@ Malheureusement, gitea n'est pas distribué sous forme de paquet Debian. Une alt Gitea version 1.5.2 built with: bindata, sqlite ~~~ -**Note** : Même si gitea peut fonctionner de manière autonome avec SQLite, à partir d'une certaine taille/utilisation, il est préférable de basculer vers un moteur de base de données tel que [HowtoMySQL]() ou [HowtoPostgreSQL]() et d'ajouter [HowtoRedis]() pour le cache/sessions. +> *Note* : Même si gitea peut fonctionner de manière autonome avec SQLite, à partir d'une certaine taille/utilisation, il est préférable de basculer vers un moteur de base de données tel que [HowtoMySQL]() ou [HowtoPostgreSQL]() et d'ajouter [HowtoRedis]() pour le cache/sessions. -### Mettre à jour -Le processus de mise à jour est assez simple et similaire au processus d'installation. Après avoir regardé s'il n'y a pas d'actions à faire manuellement, on peut simplement télécharger le dernier binaire dans `/usr/local/bin/`. Lui appliquer les bon droits (*chmod 755*) et mettre à jour le lien symbolique /usr/local/bin/gitea vers ce nouveau binaire. +## Mise à jour -Il ne reste plus qu'à redémarrer l'instance. C'est terminé! +Le processus de mise à jour est assez simple et similaire au processus d'installation. Après avoir regardé s'il n'y a pas d'actions à faire manuellement, on peut simplement télécharger le dernier binaire dans `/usr/local/bin/`. Lui appliquer les bon droits (*chmod 755*) et mettre à jour le lien symbolique `/usr/local/bin/gitea` vers ce nouveau binaire. + +Il ne reste plus qu'à redémarrer l'instance. C'est terminé ! ## Configuration -Dans la suite de cette documentation, on se place dans le cas d'une instance simple, fonctionnant avec l'utilisateur **git**. On part du principe que : -* MySQL est déjà installé +Dans la suite de cette documentation, on se place dans le cas d'une instance simple, fonctionnant avec l'utilisateur **git**. On part du principe que : + +* [MySQL](HowtoMySQL) est déjà installé * le compte **git** pour l'application existe. Au final, on va se retrouver avec la hiérarchie suivante : @@ -68,23 +71,22 @@ $ tree /home/git ~~~ -Ces dossiers seront créés au premier lancement de gitea. Il faut donc s'assurer que certaines variables d'environnement sont bien positionnées. +Ces dossiers seront créés au premier lancement de Gitea. Il faut donc s'assurer que certaines variables d'environnement sont bien positionnées. -Lors de la première exécution de gitea, une page d'installation va demander tous les paramètres nécessaires pour initialiser l'instance. Celle-ci va aussi permettre de créer le premier compte administrateur. +Lors de la première exécution de Gitea, une page d'installation va demander tous les paramètres nécessaires pour initialiser l'instance. Celle-ci va aussi permettre de créer le premier compte administrateur. ### /etc/gitea/git.ini On doit initialiser le fichier de configuration de gitea avec les commandes suivantes. A noter qu'on ne laisse les droits d'écritures uniquement pour l'installation. - ~~~ # touch /etc/gitea/git.ini # chown root:git /etc/gitea/git.ini # chmod g+rw /etc/gitea/git.ini ~~~ -On ajoute aussi quelques réglages initiaux, pour que l'interface de gitea soit directement fonctionnelle (avec des logs en cas de soucis) : +On ajoute aussi quelques réglages initiaux, pour que l'interface de Gitea soit directement fonctionnelle (avec des logs en cas de souci) : ~~~ # cat /etc/gitea/git.ini @@ -151,9 +153,9 @@ WantedBy=multi-user.target mysql> GRANT ALL PRIVILEGES ON git.* TO 'git'@localhost IDENTIFIED BY 'PASSWORD'; ~~~ -Côté gitea.ini, la base de donnée MySQL se configure avec la section ci-dessous. +Côté `gitea.ini`, la base de donnée MySQL se configure avec la section ci-dessous. -**Note** : La page d'installation va remplir cette section de la configuration automatiquement. +> *Note* : La page d'installation va remplir cette section de la configuration automatiquement. ~~~ [database] @@ -198,7 +200,7 @@ server { ### Redis -On peut utiliser Redis comme support pour les sessions et le cache de gitea. +On peut utiliser Redis comme support pour les sessions et le cache de Gitea. #### Cache @@ -223,7 +225,7 @@ PROVIDER_CONFIG = network=tcp,addr=127.0.0.1:6379,password=PASSWORD,db=0,pool_s ### Multiples instances -On peut très bien faire du multi-instance. On peut ainsi basculer sur une unité systemd avec paramètre comme : +On peut faire du multi-instances. On peut ainsi basculer sur une unité systemd avec paramètre comme : ~~~ # cat /etc/systemd/system/gitea@.service