So installieren und konfigurieren Sie GoCD unter Ubuntu 16.04

GoCD ist ein Open Source-System für die kontinuierliche Lieferung und Automatisierung. Sie können komplexe Workflows mithilfe der parallelen und sequentiellen Ausführung modellieren. Mit der Wertstromkarte können Sie einen komplexen Workflow problemlos visualisieren. Mit GoCD können Sie problemlos zwei Builds vergleichen und eine beliebige Version der Anwendung bereitstellen. Das GoCD-Ökosystem besteht aus einem GoCD-Server und einem GoCD-Agenten. GoCD ist für die Steuerung aller Aufgaben verantwortlich, z. B. für die Ausführung der webbasierten Benutzeroberfläche sowie für die Verwaltung und Bereitstellung von Jobs für den Agenten. Go-Agenten sind für die Ausführung der Jobs und Bereitstellungen verantwortlich.

Voraussetzungen

  • Eine Vultr Ubuntu 16.04-Serverinstanz mit mindestens 2 GB RAM.
  • Ein Sudo-Benutzer .
  • Ein Domainname zeigte auf den Server.

In diesem Tutorial verwenden wir 192.168.1.1als öffentliche IP-Adresse und gocd.example.com als Domainnamen, der auf die Vultr-Instanz verweist. Stellen Sie sicher, dass alle Vorkommen des Beispieldomänennamens und der IP-Adresse durch die tatsächliche ersetzt werden.

Aktualisieren Sie Ihr Basissystem mithilfe der Anleitung zum Aktualisieren von Ubuntu 16.04 . Fahren Sie nach der Aktualisierung Ihres Systems mit der Installation von Java fort.

Installieren Sie Java

GoCD erfordert Java Version 8 und unterstützt sowohl Oracle Java als auch OpenJDK. Fügen Sie das Ubuntu-Repository für Oracle Java 8 hinzu.

sudo add-apt-repository --yes ppa:webupd8team/java
sudo apt update

Installieren Sie Oracle Java.

sudo apt -y install oracle-java8-installer

Überprüfe die Version.

java -version

Sie sehen die folgende Ausgabe.

user@vultr:~$ java -version
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)

Legen Sie den Standardpfad für Java fest, indem Sie das folgende Paket installieren.

sudo apt -y install oracle-java8-set-default

Sie können überprüfen, ob dies JAVA_HOMEdurch Ausführen festgelegt wurde.

echo $JAVA_HOME

Du wirst sehen.

user@vultr:~$ echo $JAVA_HOME
/usr/lib/jvm/java-8-oracle

Wenn Sie überhaupt keine Ausgabe sehen, müssen Sie sich von der aktuellen Shell abmelden und erneut anmelden.

Installieren Sie GoCD

Installieren Sie das offizielle Repository von GoCD im System.

echo "deb https://download.gocd.org /" | sudo tee /etc/apt/sources.list.d/gocd.list
curl https://download.gocd.org/GOCD-GPG-KEY.asc | sudo apt-key add -
sudo apt update

Installieren Sie den GoCD-Server in Ihrem System.

sudo apt install -y go-server

Starten Sie GoCD und aktivieren Sie es, damit es beim Booten automatisch gestartet wird.

sudo systemctl start go-server
sudo systemctl enable go-server

Bevor wir auf das GoCD-Dashboard zugreifen, erstellen wir ein neues Verzeichnis zum Speichern der Artefakte. Artefakte können auf derselben Festplatte gespeichert werden, auf der das Betriebssystem und die Anwendungen installiert sind. Alternativ können Sie eine dedizierte Festplatte oder ein Blockspeicherlaufwerk zum Speichern der Artefakte verwenden.

Wenn Sie dieselbe Festplatte zum Speichern der Artefakte verwenden möchten, erstellen Sie einfach ein neues Verzeichnis und geben Sie dem GoCD-Benutzer den Besitz.

sudo mkdir /opt/artifacts
sudo chown -R go:go /opt/artifacts

Blockspeicher konfigurieren

Die GoCD-Software empfiehlt, dass Sie eine zusätzliche Partition oder ein zusätzliches Laufwerk zum Speichern der Artefakte verwenden. In einer kontinuierlichen Integrations- und Bereitstellungsplattform werden sehr häufig Artefakte generiert. Der Speicherplatz nimmt mit der Zeit ab, wenn kontinuierlich neue Artefakte generiert werden. Irgendwann geht Ihrem System der freie Speicherplatz aus und die auf Ihrem System ausgeführten Dienste schlagen fehl. Um dieses Problem zu beheben , können Sie ein neues Vultr-Blockspeicherlaufwerk anhängen , um die Artefakte zu speichern. Wenn Sie weiterhin Artefakte auf demselben Laufwerk speichern möchten, fahren Sie mit dem Abschnitt "GoCD konfigurieren" fort.

Stellen Sie ein neues Blockspeicherlaufwerk bereit und hängen Sie es an Ihre GoCD-Serverinstanz an. Erstellen Sie nun eine neue Partition auf dem Blockspeichergerät.

sudo parted -s /dev/vdb mklabel gpt
sudo parted -s /dev/vdb unit mib mkpart primary 0% 100%

Erstellen Sie das Dateisystem auf der neuen Festplatte.

sudo mkfs.ext4 /dev/vdb1

Hängen Sie das Blockspeicherlaufwerk ein.

sudo mkdir /mnt/artifacts
sudo cp /etc/fstab /etc/fstab.backup
echo "
/dev/vdb1 /mnt/artifacts ext4 defaults,noatime 0 0" | sudo tee -a /etc/fstab
sudo mount /mnt/artifacts

Führen dfSie nun aus, und Sie sehen, dass das neue Blockspeicherlaufwerk aktiviert ist /mnt/artifacts.

[user@vultr ~]$ df
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/vda1       20616252 6313892  13237464  33% /

...
/dev/vdb1       10188052   36888   9610596   1% /mnt/artifacts

Geben Sie dem GoCD-Benutzer den Besitz des Verzeichnisses.

sudo chown -R go:go /mnt/artifacts

Konfigurieren Sie GoCD

Jetzt können Sie auf das GoCD-Dashboard zugreifen http://192.168.1.1:8153. Zugriff auf das GoCD-Dashboard über eine gesicherte Verbindung https://192.168.1.1:8154. Sie erhalten eine Fehlermeldung, dass die Zertifikate ungültig sind. Sie können den Fehler ignorieren, da die Zertifikate selbst signiert sind. Aus Sicherheitsgründen sollten Sie das Dashboard immer über eine gesicherte Verbindung verwenden.

Bevor Sie eine neue Pipeline einrichten, navigieren Sie in Admin >> Server Configurationder oberen Navigationsleiste zu " ".

Geben Sie die URL zu Ihrer ungesicherten Site in das Site URLFeld " " und die gesicherte Site in das Secure Site URLFeld " " ein.

So installieren und konfigurieren Sie GoCD unter Ubuntu 16.04

Geben Sie als Nächstes Ihre SMTP-Serverdetails an, um E-Mail-Benachrichtigungen von GoCD zu senden.

So installieren und konfigurieren Sie GoCD unter Ubuntu 16.04

Geben Sie schließlich den Pfad zu dem Ort an, an dem Sie die Artefakte speichern möchten. Wenn Sie die Artefakte auf derselben Festplatte wie das Betriebssystem gespeichert haben, geben Sie /opt/artifactsFolgendes ein: Wenn Sie ein Blockspeicherlaufwerk angeschlossen haben, können Sie eingeben /mnt/artifacts.

Sie können GoCD auch so konfigurieren, dass die alten Artefakte automatisch gelöscht werden. Konfigurieren Sie die nächste Option entsprechend Ihrer Festplattengröße. Mit der Option zum automatischen Löschen werden jedoch keine Sicherungskopien Ihrer alten Artefakte erstellt. Um manuell ein Backup zu erstellen und dann die alten Artefakte zu löschen, deaktivieren Sie das automatische Löschen, indem Sie die NeverOption " " für die Auto delete old artifactsOption " " auswählen .

So installieren und konfigurieren Sie GoCD unter Ubuntu 16.04

Sie müssen den GoCD-Server neu starten, damit die neuen Änderungen übernommen werden.

sudo systemctl restart go-server

Authentifizierung einrichten

Standardmäßig ist das GoCD-Dashboard nicht für die Verwendung einer Authentifizierung konfiguriert, unterstützt jedoch die Authentifizierung mithilfe einer Kennwortdatei und LDAP. In diesem Tutorial richten wir die kennwortbasierte Authentifizierung ein.

Hinweis : Das Einrichten der Authentifizierung ist ein optionaler Schritt, wird jedoch für öffentlich zugängliche Server wie Vultr dringend empfohlen.

Installieren Sie die Apache-Tools, damit wir mit dem htpasswd Befehl eine verschlüsselte Kennwortdatei erstellen können.

sudo apt -y install apache2-utils

Erstellen Sie mit dem htpasswd Befehl eine Kennwortdatei mit Bcrypt-Verschlüsselung.

sudo htpasswd -B -c /etc/go/passwd_auth goadmin

Geben Sie das Kennwort zweimal für den Benutzer ein. Sie sehen die folgende Ausgabe.

[user@vultr ~]$ sudo htpasswd -B -c /etc/go/passwd_auth goadmin
New password:
Re-type new password:
Adding password for user goadmin

Sie können mit demselben Befehl oben so viele Benutzer hinzufügen, wie Sie möchten. Entfernen Sie jedoch die -c Option. Die -c Option ersetzt die vorhandene Datei und ersetzt alte Benutzer durch den neuen Benutzer.

sudo htpasswd -B /etc/go/passwd_auth gouser1

Nachdem Sie die Kennwortdatei erstellt haben, greifen Sie erneut auf das GoCD-Dashboard zu. Navigieren Sie in Admin >> Security >> Authorization Configurationsder oberen Navigationsleiste zu " ". Klicken Sie auf die Add Schaltfläche und geben Sie eine ID ein. Wählen Sie " Password File Authentication Plugin for GoCD" als Plugin-ID und leiten Sie den Pfad zur Passwortdatei. Klicken Sie nun auf die Check ConnectionSchaltfläche " ", um zu überprüfen, ob GoCD die Kennwortdatei zur Authentifizierung verwenden kann.

So installieren und konfigurieren Sie GoCD unter Ubuntu 16.04

Speichern Sie abschließend die Authentifizierungsmethode. Laden Sie das Dashboard neu und Sie werden automatisch abgemeldet. Sie sehen jetzt einen Anmeldebildschirm. Melden Sie sich mit den zuvor erstellten Anmeldeinformationen an.

Sie müssen den Administrator manuell heraufstufen, andernfalls haben alle Benutzer Administratorrechte. Navigieren Sie in Admin >> User Summaryder oberen Navigationsleiste zu " ".

Wählen Sie nun den von Ihnen erstellten Administrator aus und klicken Sie auf die RolesDropdown- Liste " ". Befördern Sie den Benutzer zum einzigen Administrator, indem Sie das Go System AdministratorKontrollkästchen " " aktivieren.

So installieren und konfigurieren Sie GoCD unter Ubuntu 16.04

Um die in der Kennwortdatei erstellten Benutzer in GoCD hinzuzufügen, klicken Sie auf die ADDSchaltfläche " " und suchen Sie nach dem Benutzer, der sie hinzufügen soll. Benutzer werden bei ihrer ersten Anmeldung automatisch zum GoCD-Dashboard hinzugefügt. Damit sich Benutzer anmelden können, müssen sie natürlich zu der zuvor erstellten Kennwortdatei hinzugefügt werden.

Sichern von GoCD mit Let's Encrypt SSL

Standardmäßig überwacht GoCD Ports 8153 und 8154 sichere Verbindungen. Der Port 8154 bietet zwar eine sichere Verbindung zur Anwendung, zeigt jedoch auch Browserfehler an, da ein selbstsigniertes Zertifikat verwendet wird. In diesem Abschnitt des Tutorials installieren und sichern wir Nginx mit einem kostenlosen SSL-Zertifikat von Let's Encrypt. Der Nginx-Webserver fungiert als Reverse-Proxy, um die eingehenden Anforderungen an den HTTP Endpunkt von GoCD weiterzuleiten .

Installieren Sie Nginx.

sudo apt -y install nginx

Starten Sie Nginx und aktivieren Sie es, um es beim Booten automatisch zu starten.

sudo systemctl start nginx
sudo systemctl enable nginx

Fügen Sie das Certbot-Repository hinzu.

sudo add-apt-repository --yes ppa:certbot/certbot
sudo apt-get update

Installieren Sie Certbot, die Clientanwendung für Let's Encrypt CA.

sudo apt -y install certbot

Hinweis : Um Zertifikate von Let's Encrypt CA zu erhalten, muss die Domäne, für die die Zertifikate generiert werden sollen, auf den Server gerichtet sein. Wenn nicht, nehmen Sie die erforderlichen Änderungen an den DNS-Einträgen der Domäne vor und warten Sie, bis sich der DNS verbreitet hat, bevor Sie die Zertifikatanforderung erneut stellen. Certbot überprüft die Domänenautorität, bevor die Zertifikate bereitgestellt werden.

Generieren Sie die SSL-Zertifikate.

sudo certbot certonly --webroot -w /var/www/html -d gocd.example.com

Die generierten Zertifikate werden wahrscheinlich in gespeichert /etc/letsencrypt/live/gocd.example.com/. Das SSL-Zertifikat wird als fullchain.pem und der private Schlüssel als gespeichert privkey.pem.

Lassen Sie uns Zertifikate verschlüsseln, die in 90 Tagen ablaufen. Es wird daher empfohlen, die automatische Erneuerung der Zertifikate mithilfe von Cron-Jobs einzurichten.

Öffnen Sie die Cron-Jobdatei.

sudo crontab -e

Fügen Sie die folgende Zeile am Ende der Datei hinzu.

30 5 * * * /usr/bin/certbot renew --quiet

Der oben genannte Cron-Job wird jeden Tag um 5:30 Uhr ausgeführt. Wenn das Zertifikat abläuft, wird es automatisch erneuert.

Erstellen Sie eine neue Konfigurationsdatei für die GoCD-Weboberfläche.

sudo nano /etc/nginx/sites-available/gocd

Füllen Sie die Datei.

upstream gocd {
server 127.0.0.1:8153;
}

server {
    listen 80;
    server_name gocd.example.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443;
    server_name gocd.example.com;

    ssl_certificate           /etc/letsencrypt/live/gocd.example.com/fullchain.pem;
    ssl_certificate_key       /etc/letsencrypt/live/gocd.example.com/privkey.pem;

    ssl on;
    ssl_session_cache  builtin:1000  shared:SSL:10m;
    ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
    ssl_prefer_server_ciphers on;

    access_log  /var/log/nginx/gocd.access.log;

location / {
        proxy_pass http://gocd;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-NginX-Proxy true;
        proxy_redirect off;
    }
location /go {
    proxy_pass http://gocd/go;
    proxy_http_version 1.1;
    proxy_set_header Upgrade websocket;
    proxy_set_header Connection upgrade;
    proxy_read_timeout 86400;
    }
  }

Aktivieren Sie die Konfigurationsdatei.

sudo ln -s /etc/nginx/sites-available/gocd /etc/nginx/sites-enabled/gocd

Starten Sie den Nginx-Webserver neu, um die Konfigurationsänderung zu implementieren.

sudo systemctl restart nginx

Jetzt können Sie unter auf das GoCD-Dashboard zugreifen https://gocd.example.com. Melden Sie sich mit den Administratoranmeldeinformationen bei Ihrem Dashboard an und navigieren Sie in Admin >> Server Configurationder oberen Navigationsleiste zu " ".

So installieren und konfigurieren Sie GoCD unter Ubuntu 16.04

Stellen Sie " Site URL" und " Secure Site URL" auf https://gocd.example.com.

Installieren des GoCD-Agenten

In der kontinuierlichen GoCD-Integrationsumgebung sind GoCD-Agenten die Mitarbeiter, die für die Ausführung aller Aufgaben verantwortlich sind. Wenn eine Änderung in der Quelle erkannt wird, wird die Pipeline ausgelöst und die Jobs werden verfügbaren Workern zur Ausführung zugewiesen. Der Agent führt dann die Aufgabe aus und meldet den endgültigen Status nach der Ausführung.

Um eine Pipeline auszuführen, muss mindestens ein Agent konfiguriert sein. Fahren Sie mit der Installation des GoCD-Agenten auf dem GoCD-Server fort.

Da wir das GoCD-Repository bereits in den Server importiert haben, können wir Go Agent direkt installieren.

sudo apt install -y go-agent

Starten Sie nun den GoCD-Server und aktivieren Sie ihn beim Start automatisch.

sudo systemctl start go-agent
sudo systemctl enable go-agent

Der auf dem lokalen Host ausgeführte GoCD-Agent wird automatisch aktiviert, wenn er erkannt wird.



Leave a Comment

Kann KI mit zunehmender Anzahl von Ransomware-Angriffen kämpfen?

Kann KI mit zunehmender Anzahl von Ransomware-Angriffen kämpfen?

Ransomware-Angriffe nehmen zu, aber kann KI helfen, den neuesten Computervirus zu bekämpfen? Ist KI die Antwort? Lesen Sie hier, ob KI boone oder bane ist

ReactOS: Ist das die Zukunft von Windows?

ReactOS: Ist das die Zukunft von Windows?

ReactOS, ein quelloffenes und kostenloses Betriebssystem, ist hier mit der neuesten Version. Kann es den Anforderungen moderner Windows-Benutzer genügen und Microsoft zu Fall bringen? Lassen Sie uns mehr über dieses alte, aber neuere Betriebssystem erfahren.

Bleiben Sie in Verbindung über die WhatsApp Desktop App 24*7

Bleiben Sie in Verbindung über die WhatsApp Desktop App 24*7

Whatsapp hat endlich die Desktop-App für Mac- und Windows-Benutzer auf den Markt gebracht. Jetzt können Sie ganz einfach von Windows oder Mac auf WhatsApp zugreifen. Verfügbar für Windows 8+ und Mac OS 10.9+

Wie kann KI die Prozessautomatisierung auf die nächste Stufe heben?

Wie kann KI die Prozessautomatisierung auf die nächste Stufe heben?

Lesen Sie dies, um zu erfahren, wie Künstliche Intelligenz bei kleinen Unternehmen beliebt wird und wie sie die Wahrscheinlichkeit erhöht, sie wachsen zu lassen und ihren Konkurrenten einen Vorsprung zu verschaffen.

macOS Catalina 10.15.4 Supplement Update verursacht mehr Probleme als sie zu lösen

macOS Catalina 10.15.4 Supplement Update verursacht mehr Probleme als sie zu lösen

Vor kurzem hat Apple macOS Catalina 10.15.4 als Ergänzungsupdate veröffentlicht, um Probleme zu beheben, aber es scheint, dass das Update mehr Probleme verursacht, die zum Bricking von Mac-Computern führen. Lesen Sie diesen Artikel, um mehr zu erfahren

13 Tools zur kommerziellen Datenextraktion von Big Data

13 Tools zur kommerziellen Datenextraktion von Big Data

13 Tools zur kommerziellen Datenextraktion von Big Data

Was ist ein Journaling-Dateisystem und wie funktioniert es?

Was ist ein Journaling-Dateisystem und wie funktioniert es?

Unser Computer speichert alle Daten in einer organisierten Weise, die als Journaling-Dateisystem bekannt ist. Es ist eine effiziente Methode, die es dem Computer ermöglicht, Dateien zu suchen und anzuzeigen, sobald Sie auf die Suche klicken.https://wethegeek.com/?p=94116&preview=true

Technologische Singularität: Eine ferne Zukunft der menschlichen Zivilisation?

Technologische Singularität: Eine ferne Zukunft der menschlichen Zivilisation?

Da sich die Wissenschaft schnell weiterentwickelt und einen Großteil unserer Bemühungen übernimmt, steigt auch das Risiko, uns einer unerklärlichen Singularität auszusetzen. Lesen Sie, was Singularität für uns bedeuten könnte.

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Der Einfluss künstlicher Intelligenz im Gesundheitswesen 2021

Der Einfluss künstlicher Intelligenz im Gesundheitswesen 2021

KI im Gesundheitswesen hat in den letzten Jahrzehnten große Fortschritte gemacht. Somit wächst die Zukunft der KI im Gesundheitswesen immer noch von Tag zu Tag.