So führen Sie ein Java-Projekt auf einem Shell-Runner aus, wenn Sie in ein GitLab-Repository pushen

Mein Name ist Ivan Sidorenko, ich bin Testingenieur bei Digital Design. Meine Aufgabe war es, den Start von in Java Selenium geschriebenen Autotests zu implementieren.

Ich bin neu in CI / CD, daher bin ich auf viele Probleme gestoßen. Ich habe im Internet keine detaillierten Anweisungen für diese Aufgabe gefunden. Nachdem ich sie mithilfe unserer Entwickler herausgefunden hatte, beschloss ich, ein Handbuch für dieselben Neulinge wie ich zu schreiben.

Ich habe alle notwendigen Schritte zur Konfiguration von CI / CD mit GitLab ausführlich beschrieben, zum Beispiel mit einem einfachen HelloWorld-Programm, das mit Java geschrieben wurde.



Autotests sollten jedes Mal ausgeführt werden, wenn ein Entwickler Änderungen in das GitLab-Repository überträgt. Diese Aufgabe entspricht einem der Prinzipien von CI / CD - dem Start von Autotests in jeder Phase der Produktentwicklung. Ich werde das vollständige CI / CD-Konzept in diesem Handbuch nicht beschreiben - diese Informationen sind im Internet leicht zu finden.

Was Sie jedoch nicht finden sollten, ist die Konfiguration von CI / CD mit GitLab für Anfänger mit einer Beschreibung aller erforderlichen Schritte. Dies wird unten diskutiert.

1. Installieren Sie Git und erhalten Sie Zugriff auf das GitLab-Repository


Ich habe alles Notwendige bereitgestellt, um das Projekt auf einem Remotecomputer zu starten. Da dieses Handbuch jedoch dazu dient, mich mit den Grundlagen der Bereitstellung von CI / CD vertraut zu machen, werden wir auf dem lokalen Computer arbeiten.

Gehen Sie auf der Seite Projekte zu GitLab. Klicken Sie im angezeigten Fenster auf die Schaltfläche Neues Projekt


Legen Sie den Projektnamen fest, legen Sie den privaten Wert im Feld Sichtbarkeitsprojekt fest und klicken Sie auf die grüne Schaltfläche Projekt erstellen .



Herzlichen Glückwunsch, das Projekt in GitLab wurde erstellt.



Jetzt müssen wir das lokale Repository bereitstellen, von dem aus wir die Änderungen an GitLab übertragen. Dazu müssen Sie zuerst Git installieren. Während der Installation können Sie alle Standardwerte auswählen. Wenn Sie keine Erfahrung mit dem Git und seiner Installation haben, empfehle ich Ihnen, sich unter www.youtube.com mit diesem Kurs vertraut zu machen.

Jetzt müssen Sie die Git-Umgebungsvariablen user.name und user.email konfigurieren. Wir übernehmen die Werte von der Seite GitLab -> Projekt / Details (diese Seite erhalten wir, sobald wir das Projekt erstellen).

git config --global user.name "user name" git config --global user.email "email@examle.com" 

Öffnen Sie Git Bash. Klicken Sie dazu auf eine beliebige Stelle auf dem Desktop und wählen Sie hier Git Bash aus. Jetzt geben wir diese beiden Befehle nacheinander ein.

Danach müssen Sie ein lokales Repository erstellen, von dem aus wir alle Änderungen in GitLab übertragen. Erstellen Sie dazu einen Ordner auf dem lokalen Computer, gehen Sie dorthin, öffnen Sie Git Bash und führen Sie diese Befehle nacheinander aus (sie sind auch auf der Seite GitLab -> Projekt / Details verfügbar).

git init
git remote add origin
git init
git remote add origin
Hier geben Sie den Pfad zu Ihrem Projekt an

Jetzt wurde unser Remote-Repository hinzugefügt. Bevor Sie jedoch Änderungen an dem GitLab-Repository vornehmen, müssen Sie die SSH-Schlüssel konfigurieren.

2. SSH-Schlüssel konfigurieren


SSH-Schlüssel sind für die sichere Datenübertragung von Remote-Repositorys zum Haupt-Git-Repository über das SSH-Protokoll erforderlich. Erstellen Sie ein Schlüsselpaar.

Öffne Git Bash und gib ein:

 ssh-keygen -o -t rsa -b 4096 -C email@example.com 

Anstelle von email@example.com ersetzen wir Ihre E-Mail.

Als nächstes erhalten wir eine Nachricht, wo die Schlüssel gespeichert werden. Hier drücken wir einfach die Eingabetaste. Die Schlüssel werden im Ordner des Formulars gespeichert:

 C:\Users\User_name\.ssh 

Nachdem Sie einen Ordner ausgewählt haben, werden Sie aufgefordert, ein Kennwort für die Schlüssel einzugeben. Sie können diesen Schritt überspringen, indem Sie zweimal die Eingabetaste drücken.

Jetzt müssen Sie den öffentlichen Schlüssel zu Ihrem GitLab-Konto hinzufügen. Wechseln Sie in den Ordner .ssh und öffnen Sie die ID-Datei id _rsa.pub mit dem Editor. Kopieren Sie den Inhalt der Datei und gehen Sie zu GitLab. Hier müssen Sie zu den Benutzereinstellungen gehen (klicken Sie auf die Schaltfläche oben rechts und wählen Sie Einstellungen).



Gehen Sie zum Abschnitt SSH-Schlüssel.

Fügen Sie den öffentlichen Schlüssel in das Feld Schlüssel ein und klicken Sie auf die Schaltfläche Schlüssel hinzufügen.



Jetzt müssen Sie den privaten Schlüssel auf dem Remote-Computer speichern. Führen Sie dazu die folgenden Befehle aus:

 ssh-agent bash ssh-add ~/.ssh/key 

Dabei ist der Schlüssel der generierte private Schlüssel (Datei mit dem Namen "id_rsa").
ssh-agent ist ein Programm zum Speichern von privaten Schlüsseln, die zur Authentifizierung mit öffentlichen Schlüsseln verwendet werden (in unserem Fall ist dies ein RSA-Schlüssel).

Jetzt können Sie Dateien in GitLab pushen. Überprüfen Sie, ob alles funktioniert. Wechseln Sie zu dem zuvor initialisierten Repository. Fügen Sie die leere txt-Datei hinzu. Danach führen wir diese Befehle nacheinander in Git Bash aus.

 git add . git commit -m "Initial commit" git push -u origin master 

Gehen Sie zu GitLab auf der Seite Projekt / Details und stellen Sie sicher, dass alles einwandfrei funktioniert.



3. Erstellen eines GitLab Runner (Shell)


Um Projekte zu starten, wenn Sie auf gitlab pushen, müssen Sie einen Runner bereitstellen. GitLab Runner ist ein Agent zum Ausführen von Anweisungen aus einer speziellen .gitlab-ci.yml-Datei. Es gibt verschiedene Arten von Läufern. Erwägen Sie die Installation und den Start eines der einfachsten - eines Shell Runners.

Mit Shell-Runner können Sie Projekte auf dem Computer ausführen, auf dem dieser Runner installiert ist. Erwägen Sie die Installation dieses Läufers auf unserem lokalen Computer:

1. Erstellen Sie einen Ordner für den Runner, z. B. C: \ GitLab-Runner

2. Laden Sie den Läufer über den Link herunter:
https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-windows-386.exe
Benennen Sie es in gitlab-running.exe um.

3. Führen Sie PowerShell als Administrator aus.

4. Gehen Sie zu unserem Ordner:

 cd C:\GitLab-Runner 

5. Geben Sie den Link zu GitLab ein. Gehen Sie in GitLab zu Einstellungen-> CI / CD-> Läufer.



6. Geben Sie den Token ein:



7. Geben Sie eine Beschreibung des Läufers ein.

8. Geben Sie die Tags für den Läufer ein.

9. Wählen Sie den Typ der Läuferschale.

10. Installieren Sie den Läufer:

 gitlab-runner install 

11. Und renne:

 gitlab-runner start 

Um zu überprüfen, ob der Runner gestartet wurde, gehen Sie zu GitLab -> Einstellungen -> CI / CD -> Runners. Ein grüner Kreis bedeutet, dass der Läufer läuft.



4. Einstellen der Umgebungsvariablen


Um unser Java-Programm auszuführen, benötigen wir:

1. Installieren Sie Java:
https://java.com/de/download/

2. Installieren Sie jdk: https://www.oracle.com/technetwork/java/javase/downloads/index.html

3. Legen Sie Umgebungsvariablen fest.

Um Umgebungsvariablen zu konfigurieren, gehen Sie zu:
Arbeitsplatz -> Eigenschaften -> Erweiterte Umgebungseinstellungen -> Umgebungsvariablen
Erstellen Sie hier im Abschnitt "Systemvariablen" die Variable JAVA_HOME, und schreiben Sie in der Zeile "Variablenwert" den Pfad zu jdk.



Fügen Sie diesen Wert der Pfadvariablen hinzu. Sie müssen auch überprüfen, ob es einen Pfad für Java gibt.



5. Erstellung des Projekts und dessen Start


Lassen Sie uns ein einfaches Java-Projekt erstellen, das "Hello World!" in der Konsole. Legen Sie es in unser lokales Repository. Es wird ungefähr so ​​aussehen:



Hier habe ich eine .gitlab-ci-Datei mit der Erweiterung yml erstellt.

Inhalt .gitlab-ci.yml
 image: java:latest stages: - build - execute build: stage: build script: - cd C:\GitAuto\src - javac Main.java artifacts: tags: - first-runner execute: stage: execute script: - cd C:\GitAuto\src - java Main artifacts: tags: - first-runner 


Es gibt zwei Phasen - Erstellen und Ausführen. Mit dem Befehl javac kompilieren wir den Quellcode und führen ihn mit dem Befehl java aus. Bei jedem Schritt müssen wir explizit angeben, welchen Läufer wir verwenden werden. Der Läufer wird durch den Wert seines Tags bestimmt (finden Sie in den Läufereinstellungen in GitLab).

Nachdem Sie den Inhalt der Datei festgelegt haben, gehen Sie zum lokalen Repository und öffnen Sie Git Bash. Wir beginnen, die Befehle nacheinander auszuführen:

 git add . git commit -m "Initial commit" git push -u origin master 

Die Änderungen werden gestartet. Jetzt werden wir überprüfen, ob unser Programm erfolgreich abgeschlossen wurde. Gehen Sie zu GitLab -> CI / CD -> Jobs und öffnen Sie den letzten Job:



Das Programm ist abgeschlossen, Sie sind großartig!

Source: https://habr.com/ru/post/de464403/


All Articles