Configuration du serveur Git
Dans le chapitre précédent, nous avons utilisé Github comme dépôt distant. Les projets publics Github sont gratuits, et depuis 2019, les dépôts privés Github peuvent également être utilisés sans restrictions.
Bien sûr, nous pouvons également configurer notre propre serveur Git à utiliser comme dépôt privé.
Utilisation d'un dépôt nu
1. Installer Git
Installez Git sur Ubuntu Server :
sudo apt install git
Si votre système est Centos/RedHat, la commande d'installation est :
yum -y install git-core
Commande d'installation de Fedora :
# yum install git (Fedora 21 及之前的版本) # dnf install git (Fedora 22 及更高新版本)
Ensuite, nous créons un groupe et un utilisateur git pour exécuter le service Git :
$ groupadd git $ useradd git -g git
2. Créer un dépôt nu
Connectez-vous en tant qu'utilisateur Git, puis créez un dépôt nu dans son répertoire personnel.
$ sudo su - gitTout d'abord, sélectionnez un répertoire comme dépôt Git, en supposant qu'il s'agit de /home/gitrepo/example.git, et exécutez la commande suivante dans le répertoire /home/gitrepo :
$ cd /home $ mkdir gitrepo $ chown git:git gitrepo/ $ cd gitrepo $ git init --bare example.git
La commande ci-dessus crée un dépôt Git vide. Les dépôts Git sur le serveur se terminent généralement par.git.git. Ensuite, changez l'utilisateur du dépôt en git (s'il est exploité par un autre utilisateur, tel que root) :
$ chown -R git:git example.git
3. Créer une connexion par certificat
Ajoutez votre clé publique à ~/.ssh/authorized_keys pour autoriser l'accès distant.
Rassemblez les clés publiques de tous les utilisateurs qui doivent se connecter. Les clés publiques se trouvent dans le fichier id_rsa.pub. Importez nos clés publiques dans le fichier /home/git/.ssh/authorized_keys, une par ligne.
Si le fichier n'existe pas, créez-le :
$ cd /home/git/ $ mkdir .ssh $ chmod 755 .ssh $ touch .ssh/authorized_keys $ chmod 644 .ssh/authorized_keys # 在文件中添加你的 SSH 公钥
4. Cloner le dépôt
$ git clone [email protected]:/home/gitrepo/example.git Cloning into 'example'... warning: You appear to have cloned an empty repository. Checking connectivity... done.
192.168.45.4 est l'adresse IP du serveur Git. Vous devez la remplacer par l'adresse IP de votre propre serveur Git.
De cette manière, l'installation de notre serveur Git est terminée.
Utilisation de GitLab
GitLab est un puissant outil de gestion de services Git, adapté aux moyennes et grandes équipes, offrant de riches fonctionnalités telles que la gestion des utilisateurs, CI/CD, la revue de code, etc.
1. Installer GitLab
Selonla documentation officielle de GitLabInstallez GitLab.
Par exemple, sur Ubuntu :
# sudo apt-get update # sudo apt-get install -y curl openssh-server ca-certificates tzdata perl # curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash # sudo EXTERNAL_URL="http://yourdomain" apt-get install gitlab-ee
EXTERNAL_URL="http://yourdomain" Pour définir votre propre domaine, ou une IP publique, par exemple :
sudo EXTERNAL_URL=101.132.XX.XX yum install -y gitlab-ee
2. Configurer GitLab
Après l'installation, ouvrez un navigateur et visitez http://yourdomain pour configurer le compte administrateur.
Lorsqu'un message d'écho semblable à ce qui suit apparaît, cela indique que GitLab a été installé avec succès.

Connectez-vous à GitLab, créez un nouveau projet, le nom d'utilisateur estroot。
Obtenez le mot de passe de connexion :
sudo cat /etc/gitlab/initial_root_password
Les résultats sont les suivants :

Utilisez le nom d'utilisateur pour la première connexionroot:

4. Générer un fichier de paire de clés et obtenir la clé publique
Installez l'outil Git (passez si déjà installé) :
sudo apt-get install git
Générez le fichier de paire de clés id_rsa :
ssh-keygen
Pendant le processus de génération de la paire de clés, le système vous demandera de saisir le répertoire de stockage de la paire de clés (par défaut .ssh/id_rsa dans le répertoire personnel de l'utilisateur actuel, par exemple /home/test/.ssh/id_rsa) et le mot de passe de la paire de clés. Vous pouvez les saisir manuellement, ou appuyer sur Entrée pour conserver les valeurs par défaut.
Après la génération, les informations suivantes s'affichent :

Affichez et copiez le contenu du fichier de clé publique id_rsa.pub :
cat .ssh/id_rsa.pub
Il affiche des informations similaires à ce qui suit :
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDQVwWjF3KXmI549jDI0fuCgl+syJjjn55iMUDRRiCd/B+9TwUda3l9WXH5i7RU53QGRCsDVFZxixLOlmXr9E3VSqkf8xXBnHs/5E2z5PIOCN0nxfB9xeA1db/QxPwK4gkHisep+eNHRn9x+DpCYDoSoYQN0nBg+H3uqfOqL42mJ+tqSfkyqbhjBf1kjtDTlBfVCWtI0siu7owm+c65+8KNyPlj5/0AyJ4Aqk1OX2jv+YE4nTipucn7rHwWuowasPU86l+uBsLNwOSb+H7loJvQyhEINX2FS1KnpRU+ld20t07n+N3ErfX5xBAGfxXpoN9BKKSP+RT7rvTeXTVE**** [email protected]****
5. Créer un projet
Sur la page d'accueil de GitLab, cliquez sur l'option Créer un projet :

Cliquez sur Créer un projet vide, définissez Nom du projet et URL du projet, puis cliquez sur Créer un projet:

Cet article utilise le projet mywork comme exemple d'illustration.
6. Ajouter une clé SSH
Sur la page du projet actuel, cliquez sur Ajouter une clé SSH :

Collez le contenu du fichier de clé publique id_rsa.pub dans la zone de texte où se trouve Key :

Cliquez sur Ajouter une clé. Une fois la clé SSH ajoutée, elle s'affiche comme dans la figure suivante :

Copiez le lien Clone. Ce lien est nécessaire lors des opérations de clonage :

Utilisation de GitLab
1. Configurez les informations personnelles pour l'utilisation du dépôt Git, y compris le nom d'utilisateur et l'adresse e-mail.
git config --global user.name "testname" git config --global user.email "[email protected]"
2. Clonez le projet créé en local.
git clone [email protected]:root/mywork.git

3. Téléversez le fichier vers le serveur GitLab :
Entrez dans le répertoire du projet :
cd mywork/
Créez le fichier cible qui doit être téléversé sur GitLab :
echo "test" > /home/test/test.sh
Copiez le fichier ou le répertoire cible dans le répertoire du projet :
cp /home/test/test.sh ./
Ajoutez le fichier test.sh à l'index :
git add test.sh
Commitez le fichier test.sh dans le dépôt local :
git commit -m "test.sh"
Synchronisez le fichier vers le serveur GitLab :
git push -u origin main

Dans la page web, vérifiez que le fichier test.sh téléversé a été synchronisé avec le serveur GitLab :
