Jak nainstalovat a nakonfigurovat GoCD na Ubuntu 16.04

GoCD je open source systém pro nepřetržité doručování a automatizaci. Umožňuje vám modelovat složité pracovní postupy pomocí paralelního a sekvenčního provádění. Jeho mapa toku hodnot vám umožňuje snadno vizualizovat komplexní pracovní postup. GoCD vám umožní snadno porovnat dvě sestavení a nasadit jakoukoli verzi aplikace, kterou chcete. Ekosystém GoCD se skládá ze serveru GoCD a agenta GoCD. GoCD je zodpovědná za kontrolu všeho, jako je běh webového uživatelského rozhraní a správa a poskytování úloh agentovi. Agenti Go jsou zodpovědní za spouštění úloh a nasazení.

Předpoklady

  • Instance serveru Vultr Ubuntu 16.04 s alespoň 2 GB RAM.
  • Uživatel sudo .
  • Název domény směřující k serveru.

Pro tento tutoriál použijeme 192.168.1.1jako veřejnou IP adresu a gocd.example.com jako název domény směřující k instanci Vultr. Ujistěte se, že jste nahradili všechny výskyty vzorového názvu domény a IP adresy skutečnými.

Aktualizujte svůj základní systém pomocí průvodce Jak aktualizovat Ubuntu 16.04 . Jakmile bude váš systém aktualizován, pokračujte v instalaci Javy.

Nainstalujte Javu

GoCD vyžaduje Java verze 8 a podporuje Oracle Java i OpenJDK. Přidejte úložiště Ubuntu pro Oracle Java 8.

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

Nainstalujte Oracle Java.

sudo apt -y install oracle-java8-installer

Zkontrolujte verzi.

java -version

Uvidíte následující výstup.

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)

Nastavte výchozí cestu pro Java instalací následujícího balíčku.

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

Zda JAVA_HOMEje nastaveno, můžete ověřit spuštěním.

echo $JAVA_HOME

Uvidíš.

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

Pokud nevidíte vůbec žádný výstup, budete se muset odhlásit z aktuálního shellu a znovu se přihlásit.

Nainstalujte GoCD

Nainstalujte do systému oficiální úložiště GoCD.

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

Nainstalujte server GoCD do vašeho systému.

sudo apt install -y go-server

Spusťte GoCD a povolte jeho automatické spouštění při spouštění.

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

Než přistoupíme k řídicímu panelu GoCD, vytvořte nový adresář pro uložení artefaktů. Artefakty mohou být uloženy na stejném disku, na kterém je nainstalován operační systém a aplikace. Alternativně můžete k uložení artefaktů použít vyhrazený disk nebo blokovou úložnou jednotku.

Pokud si přejete použít stejný disk k ukládání artefaktů, stačí vytvořit nový adresář a poskytnout vlastnictví uživateli GoCD.

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

Konfigurace úložiště bloků

Software GoCD doporučuje, abyste k uložení artefaktů použili další oddíl nebo jednotku. V kontinuální integrační a doručovací platformě se artefakty generují velmi často. Místo na disku se časem zmenšuje, když jsou neustále generovány nové artefakty. V určité fázi vašemu systému dojde volné místo na disku a služby běžící na vašem systému selžou. Chcete-li tento problém vyřešit , můžete připojit nový blokový úložný disk Vultr pro uložení artefaktů. Pokud si přesto přejete ukládat artefakty na stejnou jednotku, přeskočte do sekce „Konfigurovat GoCD“.

Nasaďte novou blokovou úložnou jednotku a připojte ji k instanci serveru GoCD. Nyní vytvořte nový oddíl na blokovém úložném zařízení.

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

Vytvořte systém souborů na novém disku.

sudo mkfs.ext4 /dev/vdb1

Namontujte blokovou úložnou jednotku.

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

Nyní spusťte dfa uvidíte nový blokový úložný disk připojený na /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

Poskytněte uživateli GoCD vlastnictví adresáře.

sudo chown -R go:go /mnt/artifacts

Nakonfigurujte GoCD

Nyní máte přístup k řídicímu panelu GoCD na http://192.168.1.1:8153. Chcete-li získat přístup k řídicímu panelu GoCD prostřednictvím zabezpečeného připojení, přejděte na https://192.168.1.1:8154. Zobrazí se chyba ukazující, že certifikáty nejsou platné. Chybu můžete bezpečně ignorovat, protože certifikáty jsou podepsány sebou samým. Z bezpečnostních důvodů byste měli vždy používat řídicí panel přes zabezpečené připojení.

Než nastavíte nový kanál, přejděte na „ Admin >> Server Configuration“ z horního navigačního panelu.

Zadejte adresu URL své nezabezpečené stránky do pole „ Site URL“ a zabezpečenou stránku do pole „ Secure Site URL“.

Jak nainstalovat a nakonfigurovat GoCD na Ubuntu 16.04

Dále zadejte podrobnosti o svém serveru SMTP, abyste mohli odesílat e-mailová upozornění z GoCD.

Jak nainstalovat a nakonfigurovat GoCD na Ubuntu 16.04

Nakonec zadejte cestu k místu, kam chcete artefakty uložit. Pokud jste se rozhodli ukládat artefakty na stejný disk jako operační systém, zadejte /opt/artifacts; pokud jste se rozhodli připojit blokovou úložnou jednotku, můžete zadat /mnt/artifacts.

Můžete také nakonfigurovat GoCD pro automatické mazání starých artefaktů. Nakonfigurujte další možnost podle velikosti disku. Možnost automatického mazání však neprovádí zálohu vašich starých artefaktů. Chcete-li ručně vytvořit zálohu a poté odstranit staré artefakty, vypněte automatické mazání výběrem možnosti „ Never“ pro možnost „ Auto delete old artifacts“.

Jak nainstalovat a nakonfigurovat GoCD na Ubuntu 16.04

Budete muset restartovat server GoCD, aby se nové změny uplatnily.

sudo systemctl restart go-server

Nastavení ověřování

By default, the GoCD dashboard is not configured to use any kind of authentication, but it supports authentication using a password file and LDAP. In this tutorial, we will set up password-based authentication.

Note: Setting up authentication is an optional step, but it is strongly recommended for public facing servers, such as Vultr.

Install Apache tools so that we can use the htpasswd command to create an encrypted password file.

sudo apt -y install apache2-utils

Create a password file with the htpasswd command using Bcrypt encryption.

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

Provide the password for the user twice. You will see the following output.

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

You can add as many users as you want using the same command above, but remove the -c option. The -c option will replace the existing file, replacing old users with the new user.

sudo htpasswd -B /etc/go/passwd_auth gouser1

Now that we have created the password file, access the GoCD dashboard again. Navigate to "Admin >> Security >> Authorization Configurations" from the top navigation bar. Click on the Add button and provide any ID. Choose "Password File Authentication Plugin for GoCD" for the plugin ID and direct the path to the password file. Now click on the "Check Connection" button to verify that GoCD can use the password file for authentication.

Jak nainstalovat a nakonfigurovat GoCD na Ubuntu 16.04

Finally, save the authentication method. Reload the dashboard and it will automatically log you out. You will see a login screen now. Log in using the credentials created earlier.

You will need to promote the administrator user manually, otherwise, all the users will have administrator privileges. Navigate to "Admin >> User Summary" from the top navigation bar.

Now select the admin user you've created and click on the "Roles" drop-down. Promote the user to the only administrator by selecting the "Go System Administrator" checkbox.

Jak nainstalovat a nakonfigurovat GoCD na Ubuntu 16.04

To add the users in GoCD created in the password file, click on the "ADD" button and search for the user to add them. Users are also automatically added to the GoCD dashboard on their first login. Obviously, for users to log in, they must be added to the password file we have created earlier.

Securing GoCD with Let's Encrypt SSL

Ve výchozím nastavení GoCD naslouchá portům 8153 a 8154 zabezpečeným připojením. Ačkoli port 8154 poskytuje zabezpečené připojení k aplikaci, zobrazuje také chyby prohlížeče, protože používá certifikát s vlastním podpisem. V této části tutoriálu nainstalujeme a zabezpečíme Nginx pomocí bezplatného certifikátu SSL Let's Encrypt. Webový server Nginx bude fungovat jako reverzní proxy pro předávání příchozích požadavků na HTTP koncový bod GoCD .

Nainstalujte Nginx.

sudo apt -y install nginx

Spusťte Nginx a povolte jeho automatické spouštění při spouštění.

sudo systemctl start nginx
sudo systemctl enable nginx

Přidejte úložiště Certbot.

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

Nainstalujte Certbot, což je klientská aplikace pro Let's Encrypt CA.

sudo apt -y install certbot

Poznámka : Chcete-li získat certifikáty od Let's Encrypt CA, doména, pro kterou mají být certifikáty vygenerovány, musí být nasměrována na server. Pokud ne, proveďte potřebné změny v záznamech DNS domény a počkejte, až se DNS rozšíří, než znovu požádáte o certifikát. Certbot před poskytnutím certifikátů zkontroluje autoritu domény.

Vygenerujte certifikáty SSL.

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

Vygenerované certifikáty budou pravděpodobně uloženy ve formátu /etc/letsencrypt/live/gocd.example.com/. SSL certifikát bude uložen jako fullchain.pem a soukromý klíč bude uložen jako privkey.pem.

Platnost certifikátů Let's Encrypt vyprší za 90 dní, proto se doporučuje nastavit automatické obnovování certifikátů pomocí úloh cron.

Otevřete soubor úlohy cron.

sudo crontab -e

Přidejte následující řádek na konec souboru.

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

Výše uvedená úloha cron se spustí každý den v 5:30. Pokud má platnost certifikátu vypršet, automaticky se obnoví.

Vytvořte nový konfigurační soubor pro webové rozhraní GoCD.

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

Vyplňte soubor.

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;
    }
  }

Aktivujte konfigurační soubor.

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

Restartujte webový server Nginx, abyste provedli změnu konfigurace.

sudo systemctl restart nginx

Nyní máte přístup k řídicímu panelu GoCD na adrese https://gocd.example.com. Přihlaste se do řídicího panelu pomocí přihlašovacích údajů správce a přejděte na „ Admin >> Server Configuration“ z horního navigačního panelu.

Jak nainstalovat a nakonfigurovat GoCD na Ubuntu 16.04

Nastavte " Site URL" a " Secure Site URL" na https://gocd.example.com.

Instalace agenta GoCD

V prostředí nepřetržité integrace GoCD jsou agenti GoCD pracovníci, kteří jsou zodpovědní za provádění všech úkolů. Když je zjištěna změna ve zdroji, spustí se kanál a úlohy se přiřadí dostupným pracovníkům k provedení. Agent poté provede úlohu a po provedení hlásí konečný stav.

Pro spuštění kanálu musí být nakonfigurován alespoň jeden agent. Pokračujte v instalaci agenta GoCD na server GoCD.

Vzhledem k tomu, že jsme již naimportovali úložiště GoCD na server, můžeme přímo nainstalovat Go Agent.

sudo apt install -y go-agent

Nyní spusťte server GoCD a povolte jeho automatické spouštění při spouštění.

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

Agent GoCD běžící na localhost je automaticky povolen, když je detekován.


Leave a Comment

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Umělá inteligence není v budoucnosti, je zde přímo v současnosti V tomto blogu si přečtěte, jak aplikace umělé inteligence ovlivnily různé sektory.

Útoky DDOS: Stručný přehled

Útoky DDOS: Stručný přehled

Jste také obětí DDOS útoků a nemáte jasno v metodách prevence? Chcete-li vyřešit své dotazy, přečtěte si tento článek.

Přemýšleli jste někdy, jak hackeři vydělávají peníze?

Přemýšleli jste někdy, jak hackeři vydělávají peníze?

Možná jste slyšeli, že hackeři vydělávají spoustu peněz, ale napadlo vás někdy, jak takové peníze vydělávají? Pojďme diskutovat.

Revoluční vynálezy od Googlu, které vám usnadní život.

Revoluční vynálezy od Googlu, které vám usnadní život.

Chcete vidět revoluční vynálezy Google a jak tyto vynálezy změnily život každého dnešního člověka? Pak si přečtěte na blogu a podívejte se na vynálezy od Googlu.

Friday Essential: Co se stalo s auty řízenými umělou inteligencí?

Friday Essential: Co se stalo s auty řízenými umělou inteligencí?

Koncept aut s vlastním pohonem, která vyrazí na silnice s pomocí umělé inteligence, je snem, který už nějakou dobu máme. Ale přes několik slibů nejsou nikde vidět. Přečtěte si tento blog a dozvíte se více…

Technologická singularita: vzdálená budoucnost lidské civilizace?

Technologická singularita: vzdálená budoucnost lidské civilizace?

Jak se věda vyvíjí rychlým tempem a přebírá mnoho našeho úsilí, stoupá také riziko, že se vystavíme nevysvětlitelné singularitě. Přečtěte si, co pro nás může znamenat singularita.

Evoluce ukládání dat – Infografika

Evoluce ukládání dat – Infografika

Způsoby ukládání dat se mohou vyvíjet od narození dat. Tento blog se zabývá vývojem ukládání dat na základě infografiky.

Funkcionality vrstev referenční architektury velkých dat

Funkcionality vrstev referenční architektury velkých dat

Přečtěte si blog, abyste co nejjednodušším způsobem poznali různé vrstvy v architektuře velkých dat a jejich funkce.

6 úžasných výhod toho, že máme v životě zařízení pro chytrou domácnost

6 úžasných výhod toho, že máme v životě zařízení pro chytrou domácnost

V tomto digitálním světě se chytrá domácí zařízení stala klíčovou součástí života. Zde je několik úžasných výhod chytrých domácích zařízení o tom, jak náš život stojí za to žít a zjednodušit jej.

Aktualizace doplňku macOS Catalina 10.15.4 způsobuje více problémů než řešení

Aktualizace doplňku macOS Catalina 10.15.4 způsobuje více problémů než řešení

Apple nedávno vydal doplňkovou aktualizaci macOS Catalina 10.15.4, která opravuje problémy, ale zdá se, že aktualizace způsobuje další problémy, které vedou k zablokování počítačů mac. Přečtěte si tento článek a dozvíte se více