Skip to content
Snippets Groups Projects
Commit 9b25b4fd authored by Alban Sonneville's avatar Alban Sonneville
Browse files

gitea

parent 30020d8f
No related branches found
No related tags found
No related merge requests found
......@@ -264,17 +264,246 @@ Il permet de voir :
- Les différences entre versions
- Les auteurs et messages de commit
Pour l'installer, il faut utiliser la commande suivante : `sudo apt install gitk`
Pour le lancer, il faut exécuter celle-ci : `gitk` dans un dépôt Git.
Comment installer ?
## Qu'est-ce que git-gui ?
\`sudo apt install gitk\`
git-gui est une interface graphique pour gérer les commits, les branches et les pushes.
Il est plus orienté gestion de commits et staging que gitk, qui est surtout un visualiseur d'historique.
**🔹 Comment le lancer ?**
Dans un dépôt Git, exécutez :
Il s'installer avec la commande `sudo apt install git-gui` et se lance dans un dépôt Git avec la commande `git gui`.
\`gitk\`
# Convertion en HTML :
### **Qu'est-ce que `git-gui` ?**
Pour convertir un fichier readme.md en html, nous avons utilisés pandoc.
Voici la commande que nous avons utilisé : ```pandoc -f markdown -t html -o MAIN.html MAIN.md```
\ No newline at end of file
`git-gui` est une **interface graphique pour gérer les commits, les branches et les pushes**.
Il est plus orienté **gestion de commits et staging** que `gitk`, qui est surtout un visualiseur d'historique.
Comment installer ?
\`sudo apt install git-gui\`
**🔹 Comment le lancer ?**
Dans un dépôt Git :
\`git gui\`
# Gitea
## QUESTIONS
Question(s) 1\. À propos de Gitea
• Qu’est-ce que Gitea ?
Gitea est un logiciel de gestion de dépôts Git open source qui peut être utilisé pour héberger des projets Git de manière privée ou publique. Il est conçu pour être facile à utiliser et à installer et offre une interface Web pour gérer les dépôts Git.
En plus de ses fonctionnalités de base de gestion de dépôts Git, Gitea offre également des fonctionnalités avancées pour les utilisateurs expérimentés, comme la gestion de tickets et de tâches, le suivi des bugs et la gestion de la documentation.
( [https://bility.fr/definition-gitea/](https://bility.fr/definition-gitea/) )
• À quels logiciels bien connus dans ce domaine peut-on le comparer (en citer au moins 2\) ?
Gitea est similaire à d’autres outils de gestion de dépôts **Git** tels que **GitHub** et **GitLab**, mais il est conçu pour être plus léger et plus facile à utiliser.
( [https://bility.fr/definition-gitea/](https://bility.fr/definition-gitea/) )
• Qu’est-ce qu’un fork (dans le domaine du développement logiciel bien entendu) ?
Un fork, c’est un **nouveau logiciel** créé à partir du code source d'un logiciel existant.
• De quel logiciel Gitea est-il le fork ? Ce logiciel existe-t-il encore ?
Gitea est un fork de Gogs. Un outil pour gérer des dépôts Git via une interface web. Cela propose une gestion des tickets attachés au projet, des pages de Wiki, une gestion des utilisateurs et des groupes d’utilisateurs et des liens vers de l’intégration continue.
Aujourd’hui, Gogs existe toujours et est utilisé par certaines entreprises tel que steelants et keenton.
**(source : [https://olivier.dossmann.net/2017/04/gitea-service-git-sans-prise-de-t%C3%AAte-issu-de-gogs/](https://olivier.dossmann.net/2017/04/gitea-service-git-sans-prise-de-t%C3%AAte-issu-de-gogs/) et [https://gogs.io/](https://gogs.io/))**
## INSTALLATION GITEA:
### Port-forwarding sur VM:
Gitea utilise par défaut le port 3000 pour communiquer, pour cela il faut aller dans les paramètres réseaux de la VM et sélectionner comme type de réseau: “NAT” et faire une règle “gitea” redirigeant les entrés et sorties de la VM sur le port 3000
### Pré-requis
**Tout d’abord mettre à jour les paquets existants et installer les paquets nécessaires:**
**sudo apt update && sudo apt upgrade && sudo apt install \-y git sqlite3 curl**
### Téléchargements
Télercharger le fichier d’installation Gitea:
**`wget -O gitea https://dl.gitea.com/gitea/main-nightly/gitea-main-nightly-linux-amd64`**
**Après avoir été installé,, toujours dans le même répertoire exécutez cette commande pour rendre le fichier exécutable:**
**`chmod +x gitea`**
### Vérifications des fichiers téléchargés avec GPG
**Téléchargez le fichier de signature correspondant à la version de Gitea téléchargée (soit 1.23.5) avec la commande suivante :**
**`wget -O gitea-asc https://dl.gitea.com/gitea/1.23.5/gitea-1.23.5-linux-amd64.asc`**
**Puis récupérez la clef pour faire la comparaison:**
**`gpg --keyserver keys.openpgp.org --recv 7C9E68152594688862D62AF62D9AE806EC1592E2`**
**Vérifiez la signature du fichier:**
**`gpg --verify gitea-asc gitea`**
**Lorsque vous vérifiez la signature GPG d’un fichier binaire, vous pouvez rencontrer un avertissement semblable à celui-ci : gpg: Attention: cette clef n'est pas certifiée avec une signature de confiance. gpg: Rien n'indique que la signature appartient à son propriétaire. Malgré cet avertissement, tant que le message indique une "Bonne signature", cela confirme que le fichier gitea n’a pas été altéré, et vous pouvez considérer le binaire comme authentique et sûr à utiliser.**
**Puis vérifier la signature avec:**
**“gpg \--verify gitea-asc gitea”**
**![][image13]**
**À l’aide de \`git \-v\` j’ai la version, elle est supérieure à la 2.0.**
## Préparer l'environnement Gitea
### Version Git
Tout d’abord vérifiez si votre version git est bien supérieur à 2.0 avec `git -v`
### Utilisateur Git
**NE PAS OUBLIER D’AVOIR LES DROITS SUDO**
**Pour ajouter l’utilisateur Gitea:**
**\`\`\`bash**
**sudo adduser \\**
**\--system \\**
**\--shell /bin/bash \\**
**\--gecos 'Git Version Control' \\**
**\--group \\**
**\--disabled-password \\**
**\--home /home/git \\**
**git\`\`\`**
**Pour créer les répertoires demandés:**
**\`\`\`bash**
**sudo mkdir \-p /var/lib/gitea/{custom,data,log}**
**sudo chown \-R git:git /var/lib/gitea/**
**sudo chmod \-R 750 /var/lib/gitea/**
**sudo mkdir /etc/gitea**
**sudo chown root:git /etc/gitea**
**sudo chmod 770 /etc/gitea\`\`\`**
**Déplacez le fichier gitea dans le répertoire créé, mettez le dans le dossier `/var/lib/gitea`.**
## Lancer Gitea
Connectez vous au compte git: `sudo su - git`
Allez dans le dossier d’installation gitea: `cd /var/lib/gitea`
Lancez Gitea: `./gitea web`
### Configurer Gitea
PRENDRE LE TABLEAU EN DESSOUS PAS ça
#### Paramètres de la base de données
Type de base de données: `SQLite3`
Emplacement: `/var/lib/gitea/data/gitea.db`
#### Configuration générale
Titre du site: `votre nom de serveur`
Emplacement racine des dépôts: `/var/lib/gitea/data/gitea-repositories`
Répertoire racine Git LFS: `/var/lib/gitea/data/lfs`
Exécuter avec le compte d’un autre utilisateur: `git`
Domaine du serveur: `localhost`
Port du serveur SSH: `22`
Port d’écoute HTTP de Gitea: `3000`
URL de base de Gitea: `http://localhost:3000/`
Chemin des journaux: `/var/lib/gitea/log`
Cochez la vérification automatique des mises à jour.
#### Paramètres facultatifs
Dans `Paramètres de compte administrateur`:
Créez le compte administrateur avec comme information:
- Nom d’utilisateur administrateur: `gitea`
- Courriel: `git@localhost`
- Mot de passe: `gitea`
### Configurer Gitea
#### Paramètres de la base de données
| Paramètre | Valeur |
| :---- | :---- |
| Type de base de données | `SQLite3` |
| Emplacement | `/var/lib/gitea/data/gitea.db` |
#### Configuration générale
| Paramètre | Valeur |
| :---- | :---- |
| Titre du site | `votre nom de serveur` |
| Emplacement racine des dépôts | `/var/lib/gitea/data/gitea-repositories` |
| Répertoire racine Git LFS | `/var/lib/gitea/data/lfs` |
| Exécuter avec le compte d’un autre utilisateur | `git` |
| Domaine du serveur | `localhost` |
| Port du serveur SSH | `22` |
| Port d’écoute HTTP de Gitea | `3000` |
| URL de base de Gitea | `http://localhost:3000/` |
| Chemin des journaux | `/var/lib/gitea/log` |
| Vérification automatique des mises à jour | ✅ (Cochez cette option) |
#### Paramètres facultatifs
| Paramètre | Valeur |
| :---- | :---- |
| Nom d’utilisateur administrateur | `gitea` |
| Courriel | `git@localhost` |
| Mot de passe | `gitea` |
####
####
#### Fin de l’installation Gitea
Cliquez sur installer et suivez l’avancement dans votre console. Le serveur Gitea est maintenant installé et opérationnel. La gestion de certains paramètres peuvent se faire depuis ce lien: [`http://localhost:3000/-/admin`](http://localhost:3000/-/admin)
### Protéger les fichiers Gitea
De retour avec votre compte changez l’owner du fichier avec: `chown git /var/lib/gitea`
Puis `sudo chmod 750 /etc/gitea` et `sudo chmod 640 /var/lib/gitea/custom/conf/app.ini`
## Lancer Gitea après installation
Pour lancer gitea il vous suffit de vous connecter à l’utilisateur git
**Le service gitea maintenant installée sur notre machine, on peut voir que nous sommes connectés à notre compte admin gitea:**
**![][image14]**
## Version Gitea:
Pour vérifier la version de gitea on peut faire la commande:
- `./gitea -v` (identique à git)
## Installer une version spécifique de Gitea:
Par exemple pour télécharger la version 1.24.3 de Gitea il suffit de:
`wget -O gitea-1.24.3 https://dl.gitea.com/gitea/1.22.0/gitea-1.24.3-linux-amd64`
Depuis le dossier `/var/lib/gitea` depuis le compte `git` puis d'exécuter `./gitea-1.24.3 web`
## Utilisation de Gitea:
J’ai réussi à créer un répertoire depuis l’interface web de gitea:
![][image15]
Depuis ma machine principale je me suis connecté au compte admin gitea:
![][image16]
J’ai créé un compte utilisateur depuis l’interface web admin:
![][image17]
Je peux m’y connecter.
![][image18]
Ici j’ai d’abord ajouté mon compte “ethanseulin” comme collaborateur depuis le compte qui a créé le dépot. Ensuite j’ai cloné mon répertoire depuis l’addresse local du serveur gitea “[http://localhost:3000/gitea/rendu-SAE-ISR](http://localhost:3000/gitea/rendu-SAE-ISR)”:
- git clone http://localhost:3000/gitea/rendu-SAE-ISR
Puis finalement j’ai commit et push les nouveaux fichiers et tout marche à merveille.
Toute cette procédure a été réalisée depuis le pc et non la machine virtuelle, donc le port-forwarding fonctionne bien.
On peut voir du coup les modifications apportés depuis le compte “ethanseulin” sur le dépot.
![][image19]
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment