Wie man Gitlab für Continuous Integration und Deplyment CI/CD auf CentOS einrichtet

In diesem Tutorial werde ich erklären, wie man einen lokalen Gitlab Server für CI (Continuos Integration) / CD (Continous Deployment) Betrieb einrichtet. Wie jeder, der es noch nicht kennt, ist GitLab eine komplette DevOps-Plattform, die als eine einzige Anwendung geliefert wird. Von der Projektplanung und Quellcodeverwaltung über CI/CD bis hin zu Überwachung und Sicherheit. Sie ermöglicht es Teams, zusammenzuarbeiten und in einem einzigen Gespräch zu arbeiten, anstatt mehrere Threads über mehrere Tools hinweg zu verwalten. Durch die Bereitstellung eines einzigen Datenspeichers, einer einzigen Benutzeroberfläche und eines einzigen Autorisierungsmodells während des gesamten DevOps-Lebenszyklus können Teams erheblich zusammenarbeiten, die Zykluszeit verkürzen und sich ausschließlich auf die schnelle Erstellung jeder Anwendung konzentrieren.

Da jeder Geschäftsansatz größer und umfassender wird, müssen alle Produkte mehr herausragende Eigenschaften als ihre Konkurrenten aufweisen. Um dies zu erreichen, müssen mehrere Module eingeführt und entwickelt werden, sobald sie fertig sind, sie müssen schnell auf den Markt gebracht und vollständig getestet und verifiziert werden. Auf diese Weise würde es wirklich helfen, den Meilenstein zu erreichen, wenn Gitlab die einzige Anwendungsquelle wäre, die den Prozess des Übergangs zur DevOps-Praxis erleichtern könnte.

1. Wie funktioniert Continuous Integration und Continuous Deployment?

Es gibt eine logische Abfolge von möglichen Aktionen, die während des gesamten Lebenszyklus des Softwareentwicklungsprozesses unter Verwendung von GitLab als Plattform für Ihren Code durchgeführt werden können. Das Ziel ist es, die Teams kohärent und effektiv von der ersten Phase der Implementierung eines neuen Produkts bis zur letzten Phase der Implementierung in die Produktion zu unterstützen. Das Bild unten zeigt eine Zusammenfassung des Arbeitsablaufs:

Kontinuierliche Integration (CI)

Da der Umfang von DevOps recht groß ist, konzentriert sich dieses Tutorial auf das Einrichten des Gitlab-Servers unter lokalen Bedingungen. Wir werden die Gitlab Community Edition verwenden, um den Server in unserer lokalen Umgebung einzurichten.

2. Die Installationsphase

Für die Installationsphase beginnen wir zunächst mit der Einrichtung des Servers mit Voraussetzungen, wobei wir davon ausgehen, dass jeder Server mit einer minimalen Serverkonfiguration ausgestattet ist. Nachfolgend sind die Schritte aufgeführt:

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

Die oben genannten Schritte sind optional, nur um sicherzustellen, dass unsere Installation und Überprüfung reibungslos funktionieren. Sobald die Installation abgeschlossen ist, sehen Sie den Screenshot wie unten

Starten Sie dann den Postfix-Dienst wie erforderlich. Unten sehen Sie den Befehl.

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

Wenn Sie fertig sind, sehen Sie den Screenshot wie folgt

Als nächstes müssen wir wget installieren, um das von GitLab selbst bereitgestellte Automationsskript zur Installation zu übernehmen. Sie können die Installation auch auf andere Weise durchführen, z.B. mit Curl usw. Für diese Übung werde ich stattdessen wget verwenden, um das Skript herunterzuladen. Sobald die wget-Pakete installiert sind, laden wir das Skript von hier herunter und legen es auf unserem lokalen Server ab. Unten sehen Sie den Schritt:

 [[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 

Der Prozess wird wie unten beschrieben ablaufen:

Als nächstes beginnen wir mit der Vorbereitung des GitLab-Dienstes und der Konfiguration seiner Abhängigkeiten. Die Schritte sind wie unten beschrieben:

 [[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 

Sobald alles erledigt ist, werden Sie den Fortschritt wie unten gezeigt sehen

Großartig! Jetzt, wo alles unter Dach und Fach ist, lassen Sie uns den Prozess der Installation des Dienstes und seiner Abhängigkeiten fortsetzen. Da GitLab eine solide Anwendung für DevOps war, die zusammen entwickelt wurde, wird es mehrere Pakete geben und die Konfiguration wird konfiguriert. Daher ist es normal, dass die Zeit, die dafür benötigt wird, länger sein wird als jede normale Dienstinstallation. Bevor wir mit der Installation beginnen, sollten wir bestätigen, dass die Haupt-URL wie erwartet konfiguriert wurde. Nachfolgend sind die Schritte aufgeführt :-

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

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

Wenn der Fortschritt reibungslos verläuft, erhalten Sie wie im folgenden Screenshot dargestellt

Nun, da alles auf dem Installationsteil erledigt ist, lassen Sie uns den letzten Schliff machen, der den Port für Gitlab zum Dienst freischaltet. Unten sind die Schritte :-

 [[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 

Unten sehen Sie den Screenshot

Nun haben wir so ziemlich alles für die GitLab-Installation getan, jetzt können wir mit dem Login in unseren eigenen GitLab-Server beginnen und die Konfiguration des Projekts nach Bedarf vornehmen. Als Endergebnis können Sie Ihren GitLab-Dienst per Browser über eine zuvor von uns konfigurierte URL aufrufen, in unserem Fall http://10.124.12.133. Sie werden automatisch zur Hauptseite weitergeleitet und können dann Ihr anfängliches Admin-Passwort nach Bedarf festlegen. In diesem Fall sind die Standard-Admin-Benutzer root. Unten sehen Sie das Beispiel :-

3. Testphase

Wenn alles erledigt ist, handeln wir als Benutzer unter einem Team, das ein Projekt definiert, das GitLab als Projektentwicklungs-Repository verwendet. Lassen Sie uns zuerst ein neues Projekt erstellen, klicken Sie auf Create a Project und definieren Sie die Details nach Bedarf. Beispiele sind wie unten dargestellt :-

Sobald Sie fertig sind, werden Sie auf die Hauptseite des Projekts wie unten beschrieben umgeleitet

Nun, als Projekt werden mehrere Benutzer in dieses Repository eingebracht werden. Um das Szenario neu zu erstellen, lassen Sie uns einen Benutzer anlegen, der später in dieses Projekt einfließen wird. Gehen Sie zurück zur Hauptseite und klicken Sie auf Personen hinzufügen . Sie werden wieder auf die Seite zum Erstellen von Mitgliedern weitergeleitet, wie unten beschrieben. Erstellen Sie einen Benutzer und füllen Sie ihn nach Bedarf aus.

Nun, wenn Sie fertig sind, gehen Sie zurück zu Ihrer Hauptseite des Projekts, gehen Sie zu Einstellungen und klicken Sie auf Mitglieder . Unten sehen Sie das Beispiel :-

Dadurch gelangen Sie zur Seite Projektmitglied, wo Sie den neuen Benutzer, den Sie erstellt haben, eintragen und die Rollen definieren, die dem Benutzer zugewiesen werden sollen, wie im Beispiel unten beschrieben. Für jede Definition der Rollen und Berechtigungen können Sie auf Mehr lesen klicken, um weitere Einzelheiten zu erfahren.

Wenn Sie fertig sind, sehen Sie die Liste der bewilligten Teammitglieder wie im Beispiel unten :-

Testen wir nun den Beitrag zum Projekt-Workflow, indem wir von einem anderen Server aus auf das Projekt zugreifen, uns als neuer Benutzer anmelden und eine neue Datei erstellen, die in das Projekt übertragen werden soll. Nehmen wir zunächst die URL für das zu klonende Projekt von einem anderen Server oder einer anderen Arbeitsstation. Sie können den Projekt-URL-Link aus dem Beispiel unten nehmen :-

Während alles vorbereitet ist, melden wir uns auf einer Testarbeitsstation an und klonen das Projekt, damit andere Benutzer darauf zugreifen können. Unten sind die Schritte :-

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

Sie müssen dem Benutzer Zugriff auf das Projekt geben, um es zu klonen. Benutzen Sie den neuen Benutzer, der gerade erstellt wurde, wie im Beispiel unten gezeigt :-

Danach wird unter Ihrer Workstation ein neuer Ordner mit dem Projektnamen angelegt. Gehen Sie nun in den Ordner und erstellen Sie eine leere Datei. Dies dient nur zum Testen, dass das Projekt von allen Teammitgliedern von jeder Arbeitsstation aus beigetragen werden kann und das Projekt-Repository immer synchron aktualisiert wird. Unten sind die Schritte :-

 [[email protected] ~]# cd ls 
 anaconda-ks.cfg my-first-project 
 [[email protected] ~]# cd my-first-project/ 
 [[email protected] my-first-project]# ls 
 README.md 
 [[email protected] my-first-project]# touch myfile.txt 

Nachdem alles erledigt ist, wollen wir unsere Änderungen committen, um sie mit dem Haupt-Repository des Projekts zu synchronisieren. Unten sind die Schritte :-

 [[email protected] my-first-project]# git add myfile.txt 
 [[email protected] my-first-project]# git commit -m "added new file" 
 [[email protected] my-first-project]# git push -u origin master 

Sobald der obige Befehl ausgeführt wurde, wird der Prozess wie im Beispiel unten gezeigt :-

Großartig! Wenn alles erledigt ist, gehen wir zurück zum Browser und aktualisieren die Seite. Sie werden feststellen, dass die von Benutzer shahril übertragenen neuen Dateien auf der Hauptseite des Projekts angezeigt werden

Das könnte dich auch interessieren …