GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment configurer Gitlab pour l'intégration et le déploiement continus sur CentOS

Dans ce tutoriel, je vais vous expliquer comment configurer un serveur Gitlab local pour une opération CI (intégration continue) / CD (déploiement continu). Comme tous ceux qui ne le savent pas encore, GitLab est une plateforme DevOps complète livrée en une seule application. De la planification de projet à la gestion du code source en passant par la CI/CD, la surveillance et la sécurité. Il permet aux équipes de collaborer et de travailler dans une seule conversation au lieu de gérer plusieurs threads sur plusieurs outils. En fournissant un référentiel de données, une interface utilisateur et un modèle d'autorisation uniques tout au long du cycle de vie DevOps, les équipes peuvent collaborer de manière significative, réduire le temps de cycle et se concentrer exclusivement sur la création rapide de chaque application.

Au fur et à mesure que chaque approche commerciale devient plus large et plus complète, tous les produits doivent avoir des fonctionnalités plus remarquables que leurs concurrents. Pour y parvenir, plusieurs modules doivent être introduits et développés une fois qu'ils sont prêts, ils doivent être rapidement mis sur le marché et entièrement testés et vérifiés. De cette façon, il serait vraiment utile d'atteindre le jalon si Gitlab était la seule source d'application qui pourrait faciliter le processus de transition vers la pratique DevOps.

1. Comment fonctionnent l'intégration continue et le déploiement continu ?

Il existe une séquence logique d'actions possibles à entreprendre tout au long du cycle de vie du processus de développement logiciel, en utilisant GitLab comme plate-forme pour votre code. L'objectif est d'accompagner les équipes de manière cohérente et efficace de la première phase de mise en place d'un nouveau produit à la phase finale de sa mise en production. L'image ci-dessous montre un résumé du flux de travail :

Étant donné que la portée de DevOps est assez large, ce didacticiel se concentre sur la configuration du serveur Gitlab dans des conditions locales. Nous utiliserons Gitlab Community Edition pour nous installer dans notre environnement local.

2. Phase d'installation

Pour la phase d'installation, nous allons d'abord commencer par configurer le serveur avec les prérequis, en supposant que chaque serveur est sous une configuration de serveur minimale. Voici les étapes :

 [[email protected] ~]# cat /etc/resolv.conf 
[[email protected] ~]# yum updateinstall -y curl policycoreutils-python openssh-server

Faire ci-dessus est facultatif, juste pour assurer que notre installation et notre révision fonctionnent sans heurts. Une fois l'installation terminée, vous aurez la capture d'écran comme ci-dessous

Démarrez ensuite le service postfix si nécessaire. Voici la commande.

 [[email protected] ~]# systemctl start postfix 
[[email protected] ~]# systemctl status postfix
[[email protected] ~]# systemctl enable postfix

Une fois cela fait, vous aurez la capture d'écran comme ci-dessous



Ensuite, nous devons installer wget pour prendre le script d'automatisation fourni par GitLab lui-même pour l'installation. Vous pouvez également utiliser d'autres méthodes pour effectuer l'installation, telles que l'utilisation de Curl, etc. Pour cet exercice, j'utiliserai wget pour télécharger le script à la place. Une fois les packages wget installés, nous téléchargerons le script à partir d'ici et le placerons sur notre serveur local. Voici l'étape :

 [[email protected] ~]# yum install -y wget 
[[email protected] ~]# wget https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script .rpm.sh
[[email protected] ~]# chmod +x script.rpm.sh
[[email protected] ~]# ./script.rpm.sh

Le processus sera comme ci-dessous :

Ensuite, nous commencerons à préparer le service GitLab et ses dépendances configurées. Les étapes sont comme ci-dessous :

 [[email protected] ~]# EXTERNAL_URL="http://10.124.12.133:80" 
[[email protected] ~]# echo $EXTERNAL_URL
http://10.124.12.133
[[email protected] ~]# yum install -y gitlab-ce

Une fois que tout est fait, vous verrez la progression comme indiqué ci-dessous

Génial! Maintenant que tout est en main, continuons le processus d'installation du service et de ses dépendances. Comme GitLab était une application solide pour DevOps à concevoir ensemble, il y aura plusieurs packages et la configuration sera configurée. Par conséquent, il est normal que le temps nécessaire soit plus long que n'importe quelle installation de service normale. Avant de démarrer l'installation, confirmons que l'URL principale a été configurée comme prévu. Voici les étapes :-

 [[email protected] ~]# cat /etc/gitlab/gitlab.rb 
external_url='http://10.124.12.133'

[[email protected] ~] # gitlab-ctl reconfigure

Si la progression se déroule sans heurts, vous obtiendrez selon la capture d'écran ci-dessous

Maintenant que tout est fait sur la partie installation, faisons la touche finale qui permet au port pour Gitlab de servir. Voici les étapes :-

 [[email protected] ~]# firewall-cmd --permanent --add-service ssh 
[[email protected] ~]# firewall-cmd --permanent --add-service http
[[email protected] ~]# firewall-cmd --reload
[[email protected] ~]# iptables -L -n

Ci-dessous la capture d'écran

Maintenant que nous avons à peu près terminé l'installation de GitLab, nous pouvons maintenant commencer à nous connecter à notre propre serveur GitLab et configurer le projet selon les besoins. En tant que résultats finaux, vous pouvez afficher votre service GitLab via un navigateur via l'URL que nous avons configurée précédemment, dans notre cas, c'est http://10.124.12.133 . Il vous redirigera automatiquement vers la page principale, puis définira votre mot de passe administrateur initial au besoin. Dans ce cas, l'utilisateur administrateur par défaut est root . Voici l'exemple :-

3. Phase de test

Comme tout est fait, agissons en tant qu'utilisateur dans une équipe qui définit un projet qui utilise GitLab comme référentiel de développement de projet. Commençons par créer un nouveau projet, cliquez sur Créer un projet et définissez les détails selon vos besoins. Les exemples sont comme ci-dessous :-

Une fois cela fait, vous serez redirigé vers la page principale du projet comme ci-dessous

Maintenant, en tant que projet, plusieurs utilisateurs contribueront à ce référentiel. Pour recréer le scénario, créons un utilisateur qui contribuera plus tard à ce projet. Revenez à la page principale et cliquez sur Ajouter des personnes . Vous serez redirigé vers la page de création de membre comme ci-dessous. Créez un utilisateur et remplissez-le selon vos besoins.

Maintenant, une fois terminé, revenez à la page principale de votre projet, accédez aux paramètres et cliquez sur membres . Voici l'exemple :-

Il vous amènera à la page des membres du projet, inclura le nouvel utilisateur que vous avez créé et définira les rôles à attribuer à l'utilisateur comme dans l'exemple ci-dessous. Pour chaque définition des rôles et privilèges, vous pouvez cliquer sur En savoir plus pour plus de détails

Une fois cela fait, vous verrez la liste des membres de l'équipe accordés comme dans l'exemple ci-dessous :-

Maintenant, testons la contribution au flux de travail du projet en accédant à partir d'un autre serveur et en nous connectant en tant que nouvel utilisateur que nous avons créé et créons un nouveau fichier à valider dans le projet. Prenons d'abord l'URL du projet à cloner à partir d'un autre serveur ou poste de travail. Vous pouvez prendre le lien URL du projet à partir de l'exemple ci-dessous :-

Comme tout est préparé, connectons-nous à un poste de travail de test et clonons le projet pour qu'il soit accessible par un autre utilisateur. Voici les étapes :-

 [[email protected] ~]# yum install -y git 
[[email protected] ~]# git clone http://10.124.12.133/root/my-first-project.git

Vous devrez fournir l'accès utilisateur pour cloner le projet, utilisez le nouvel utilisateur créé tout à l'heure comme exemple ci-dessous :-

Une fois cela fait, un nouveau dossier avec le nom du projet sera créé sous votre poste de travail. Allez maintenant dans le dossier et créez un fichier vide. Ceci est juste pour tester que le projet peut être contribué par n'importe quel membre de l'équipe à partir de n'importe quel poste de travail et le référentiel du projet sera toujours mis à jour de manière synchrone. Voici les étapes :-

 [[email protected] ~]# cd ls 
anaconda-ks.cfg mon-premier-projet
[[email protected] ~]# cd mon-premier-projet/
[[email protected] mon-premier-projet]# ls
README.md
[[email protected] mon-premier-projet]# touch myfile.txt

Comme tout ce qui est fait, validons nos modifications pour les synchroniser avec le référentiel principal du projet. Voici les étapes :-

 [[email protected] mon-premier-projet]# git add myfile.txt 
[[email protected] mon-premier-projet]# git commit -m "ajouté un nouveau fichier"
[ [email protected] mon-premier-projet]# git push -u origin master

Une fois la commande ci-dessus exécutée, le processus s'affichera comme dans l'exemple ci-dessous :-

Génial! Comme tout est fait, revenons au navigateur et actualisons la page. Vous remarquerez que le nouveau fichier validé par l'utilisateur shahril sont affichés sur la page principale du projet


Cent OS
  1. Comment installer et configurer GitLab sur CentOS 7

  2. Comment installer ownCloud sur CentOS 7

  3. Comment installer Drupal 8 sur CentOS 7

  4. Comment installer OpenStack à nœud unique sur CentOS 7

  5. Comment installer et configurer Gitlab sur CentOS 8

Comment installer et configurer OTRS (outil de billetterie) sur CentOS 7 / RHEL 7

Comment installer et configurer GitLab CE sur CentOS 7

Comment installer Ansible AWX sur CentOS 7

Comment installer et configurer GitLab CE sur CentOS 8

Comment installer et configurer Gitlab CE Server sur Centos 8

Comment configurer GitLab sur CentOS 8