A GoCD telepítése és konfigurálása az Ubuntu 16.04 rendszeren

A GoCD egy nyílt forráskódú, folyamatos szállítási és automatizálási rendszer. Lehetővé teszi összetett munkafolyamatok modellezését párhuzamos és szekvenciális végrehajtásával. Értékáram-térképe lehetővé teszi egy összetett munkafolyamat egyszerű megjelenítését. A GoCD segítségével könnyedén összehasonlíthat két buildet, és telepítheti az alkalmazás tetszőleges verzióját. A GoCD ökoszisztéma GoCD szerverből és GoCD ügynökből áll. A GoCD felelős minden irányításért, például a web-alapú felhasználói felület futtatásáért, valamint a feladatok kezeléséért és az ügynök számára történő szolgáltatásért. A Go ügynökök felelősek a feladatok és a telepítések lebonyolításáért.

Előfeltételek

  • Vultr Ubuntu 16.04 szerverpéldány legalább 2 GB RAM-mal.
  • Egy sudo felhasználó .
  • Egy domain név a szerverre mutatott.

Ebben az oktatóanyagban 192.168.1.1nyilvános IP-címként és gocd.example.com a Vultr példány felé mutató tartománynévként fogjuk használni . Kérjük, ügyeljen arra, hogy a példa domain név és IP-cím minden előfordulását lecserélje a ténylegesre.

Frissítse alaprendszerét az Ubuntu 16.04 frissítése útmutató segítségével . A rendszer frissítése után folytassa a Java telepítésével.

Java telepítése

A GoCD a Java 8-as verzióját igényli, és támogatja az Oracle Java-t és az OpenJDK-t is. Adja hozzá az Oracle Java 8 Ubuntu tárházát.

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

Telepítse az Oracle Java-t.

sudo apt -y install oracle-java8-installer

Ellenőrizze a verziót.

java -version

A következő kimenetet fogja látni.

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)

Állítsa be a Java alapértelmezett elérési útját a következő csomag telepítésével.

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

Futással ellenőrizheti, hogy be JAVA_HOMEvan-e állítva.

echo $JAVA_HOME

Meglátod.

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

Ha egyáltalán nem látja a kimenetet, ki kell jelentkeznie az aktuális shellből, majd újra be kell jelentkeznie.

Telepítse a GoCD-t

Telepítse a GoCD hivatalos adattárát a rendszerbe.

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

Telepítse a GoCD szervert a rendszerébe.

sudo apt install -y go-server

Indítsa el a GoCD-t, és engedélyezze, hogy rendszerindításkor automatikusan elinduljon.

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

Mielőtt hozzáférnénk a GoCD irányítópultjához, hozzunk létre egy új könyvtárat a műtermékek tárolására. A műtermékek ugyanazon a lemezen tárolhatók, amelyre az operációs rendszer és az alkalmazások telepítve vannak. Alternatív megoldásként használhat dedikált lemezt vagy blokktároló meghajtót a műtermékek tárolására.

Ha ugyanazt a lemezt szeretné használni a műtermékek tárolására, csak hozzon létre egy új könyvtárat, és adja meg a tulajdonjogot a GoCD felhasználónak.

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

Blokktároló konfigurálása

A GoCD szoftver azt javasolja, hogy használjon további partíciót vagy meghajtót a műtermékek tárolására. A folyamatos integrációs és szállítási platformon nagyon gyakran keletkeznek műtermékek. A lemezterület idővel csökken, ha folyamatosan új műtermékek jönnek létre. A rendszer egy bizonyos szakaszában elfogy a szabad lemezterület, és a rendszeren futó szolgáltatások meghiúsulnak. A probléma megoldása érdekében csatolhat egy új Vultr blokktároló meghajtót a műtermékek tárolására. Ha továbbra is ugyanazon a meghajtón szeretné tárolni a műtermékeket, ugorjon a „GoCD konfigurálása” szakaszra.

Telepítsen egy új blokktároló meghajtót, és csatolja a GoCD-kiszolgálópéldányhoz. Most hozzon létre egy új partíciót a blokktároló eszközön.

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

Hozza létre a fájlrendszert az új lemezen.

sudo mkfs.ext4 /dev/vdb1

Szerelje fel a blokktároló meghajtót.

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

Most futtassa, dfés látni fogja az új blokktároló meghajtót a következőre szerelve /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

Adja meg a címtár tulajdonjogát a GoCD felhasználónak.

sudo chown -R go:go /mnt/artifacts

Konfigurálja a GoCD-t

Most már hozzáférhet a GoCD műszerfal http://192.168.1.1:8153. A GoCD irányítópultjának biztonságos kapcsolaton keresztüli eléréséhez nyissa meg a https://192.168.1.1:8154. Hibaüzenetet kap, amely azt jelzi, hogy a tanúsítványok nem érvényesek. Nyugodtan figyelmen kívül hagyhatja a hibát, mivel a tanúsítványok önaláírtak. Biztonsági okokból mindig biztonságos kapcsolaton keresztül használja a műszerfalat.

Mielőtt új folyamatot hozna létre, navigáljon a " Admin >> Server Configuration" elemre a felső navigációs sávról.

Írja be a nem biztonságos webhely URL-jét a " Site URL" mezőbe, és a védett webhelyét a " Secure Site URL" mezőbe.

A GoCD telepítése és konfigurálása az Ubuntu 16.04 rendszeren

Ezután adja meg az SMTP-kiszolgáló adatait, hogy e-mailes értesítéseket küldhessen a GoCD-ről.

A GoCD telepítése és konfigurálása az Ubuntu 16.04 rendszeren

Végül adja meg annak a helynek az elérési útját, ahol a műtermékeket tárolni szeretné. Ha úgy döntött, hogy a melléktermékeket ugyanazon a lemezen tárolja, mint az operációs rendszer, írja be a /opt/artifacts; ha úgy döntött, hogy csatolja a blokk tárolóeszközt, akkor adja meg /mnt/artifacts.

A GoCD-t úgy is beállíthatja, hogy automatikusan törölje a régi műtermékeket. Állítsa be a következő opciót a lemez méretének megfelelően. Az automatikus törlés opció azonban nem készít biztonsági másolatot a régi műtermékekről. Ha manuálisan szeretne biztonsági másolatot készíteni, majd törölni a régi műtermékeket, kapcsolja ki az automatikus törlést a " Never" lehetőség kiválasztásával a " Auto delete old artifacts" lehetőségnél.

A GoCD telepítése és konfigurálása az Ubuntu 16.04 rendszeren

Az új módosítások alkalmazásához újra kell indítania a GoCD szervert.

sudo systemctl restart go-server

Hitelesítés beállítása

Alapértelmezés szerint a GoCD irányítópultja nincs konfigurálva semmilyen hitelesítés használatára, de támogatja a jelszófájl és az LDAP használatával történő hitelesítést. Ebben az oktatóanyagban jelszó alapú hitelesítést állítunk be.

Megjegyzés : A hitelesítés beállítása nem kötelező lépés, de kifejezetten ajánlott nyilvános kiszolgálókhoz, például a Vultrhoz.

Telepítse az Apache eszközöket, hogy a htpasswd parancs segítségével titkosított jelszófájlt tudjunk létrehozni.

sudo apt -y install apache2-utils

Hozzon létre egy jelszófájlt a htpasswd paranccsal a Bcrypt titkosítás használatával.

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

Kétszer adja meg a felhasználó jelszavát. A következő kimenetet fogja látni.

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

A fenti paranccsal tetszőleges számú felhasználót adhat hozzá, de törölje a -c lehetőséget. Az -c opció lecseréli a meglévő fájlt, és a régi felhasználókat az új felhasználóra cseréli.

sudo htpasswd -B /etc/go/passwd_auth gouser1

Most, hogy létrehoztuk a jelszófájlt, nyissa meg újra a GoCD irányítópultját. Navigáljon a " Admin >> Security >> Authorization Configurations" elemre a felső navigációs sávról. Kattintson a Add gombra, és adjon meg bármilyen azonosítót. Válassza a " Password File Authentication Plugin for GoCD" beépülő modul azonosítóját, és irányítsa a jelszófájl elérési útját. Most kattintson a " Check Connection" gombra annak ellenőrzéséhez, hogy a GoCD tudja-e használni a jelszófájlt a hitelesítéshez.

A GoCD telepítése és konfigurálása az Ubuntu 16.04 rendszeren

Végül mentse el a hitelesítési módszert. Töltse be újra az irányítópultot, és az automatikusan kijelentkezteti. Ekkor megjelenik egy bejelentkezési képernyő. Jelentkezzen be a korábban létrehozott hitelesítő adatokkal.

A rendszergazda felhasználót manuálisan kell előléptetnie, ellenkező esetben minden felhasználó rendszergazdai jogosultsággal rendelkezik. Navigáljon a " Admin >> User Summary" elemre a felső navigációs sávról.

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.

A GoCD telepítése és konfigurálása az Ubuntu 16.04 rendszeren

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

By default, GoCD listens to ports 8153 and 8154 on secure connections. Though port 8154 provides a secure connection to the application, it also displays browser errors as it uses a self-signed certificate. In this section of the tutorial, we will install and secure Nginx with a Let's Encrypt free SSL certificate. The Nginx web server will work as a reverse proxy to forward the incoming requests to GoCD's HTTP endpoint.

Install Nginx.

sudo apt -y install nginx

Start Nginx and enable it to automatically start at boot time.

sudo systemctl start nginx
sudo systemctl enable nginx

Add the Certbot repository.

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

Install Certbot, which is the client application for Let's Encrypt CA.

sudo apt -y install certbot

Megjegyzés : A Let's Encrypt CA-tól tanúsítványok beszerzéséhez a tartományt, amelyhez a tanúsítványokat elő kell állítani, a szerver felé kell mutatni. Ha nem, hajtsa végre a szükséges módosításokat a tartomány DNS-rekordjain, és várja meg, amíg a DNS továbbterjed, mielőtt ismét kérelmet küldene. A Certbot a tanúsítványok kiadása előtt ellenőrzi a tartományi hatóságot.

Hozza létre az SSL-tanúsítványokat.

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

A generált tanúsítványok valószínűleg a következő helyen lesznek tárolva /etc/letsencrypt/live/gocd.example.com/. Az SSL-tanúsítvány a következőként fullchain.pem , a magánkulcs pedig néven lesz tárolva privkey.pem.

Az Encrypt tanúsítványok 90 napon belül lejárnak, ezért ajánlott a tanúsítványok automatikus megújítását beállítani cron jobokkal.

Nyissa meg a cron feladatfájlt.

sudo crontab -e

Adja hozzá a következő sort a fájl végéhez.

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

A fenti cron-feladat minden nap 5:30-kor fog futni. Ha a tanúsítvány lejár, az automatikusan megújul.

Hozzon létre egy új konfigurációs fájlt a GoCD webes felületéhez.

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

Töltse fel a fájlt.

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

Aktiválja a konfigurációs fájlt.

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

Indítsa újra az Nginx webszervert a konfiguráció módosításának végrehajtásához.

sudo systemctl restart nginx

Mostantól elérheti a GoCD irányítópultját a következő címen: https://gocd.example.com. Jelentkezzen be az irányítópultra a rendszergazdai hitelesítő adatokkal, és navigáljon a " Admin >> Server Configuration" elemre a felső navigációs sávról.

A GoCD telepítése és konfigurálása az Ubuntu 16.04 rendszeren

Állítsa a " Site URL" és a " Secure Site URL" értékét https://gocd.example.com.

A GoCD Agent telepítése

A GoCD folyamatos integrációs környezetben a GoCD ügynökök azok a dolgozók, akik felelősek az összes feladat végrehajtásáért. Amikor a rendszer változást észlel a forrásban, a folyamat aktiválódik, és a feladatok végrehajtásra hozzárendelődnek a rendelkezésre álló dolgozókhoz. Az ügynök ezután végrehajtja a feladatot, és a végrehajtás után jelenti a végső állapotot.

A folyamat futtatásához legalább egy ügynököt be kell állítani. Folytassa a GoCD-ügynök telepítésével a GoCD-kiszolgálón.

Mivel a GoCD tárolót már importáltuk a szerverre, közvetlenül telepíthetjük a Go Agentet.

sudo apt install -y go-agent

Most indítsa el a GoCD-kiszolgálót, és engedélyezze, hogy automatikusan elinduljon a rendszerindításkor.

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

A localhost-on futó GoCD-ügynök észlelésekor automatikusan engedélyezve van.


Leave a Comment

Egyéni Windows ISO létrehozása frissítésekkel az NTLite használatával

Egyéni Windows ISO létrehozása frissítésekkel az NTLite használatával

Ez az oktatóanyag végigvezeti Önt a Vultrs rendszerekkel kompatibilis Windows ISO létrehozásának folyamatán. Itt megtanulhatja az <<strong>>Windows ISO<<strong>> előállításának lépéseit az NTLite segítségével.

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A mesterséges intelligencia nem a jövőben, hanem itt a jelenben. Ebben a blogban Olvassa el, hogyan hatott a mesterséges intelligencia alkalmazások különböző ágazatokra.

DDOS támadások: Rövid áttekintés

DDOS támadások: Rövid áttekintés

Ön is DDOS támadások áldozata, és tanácstalan a megelőzési módszereket illetően? Olvassa el ezt a cikket a kérdések megoldásához.

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Talán hallottál már arról, hogy a hackerek sok pénzt keresnek, de elgondolkodtál már azon, hogyan kereshetnek ennyi pénzt? beszéljük meg.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

Szeretné látni a Google forradalmi találmányait, és azt, hogy ezek a találmányok hogyan változtatták meg minden mai ember életét? Ezután olvassa el a blogot, és nézze meg a Google találmányait.

Essential péntek: Mi történt az AI-vezérelt autókkal?

Essential péntek: Mi történt az AI-vezérelt autókkal?

Az önvezető autók koncepciója, hogy mesterséges intelligencia segítségével kerüljenek az utakra, már egy ideje álmunk. De számos ígéret ellenére sehol sem látszanak. Olvassa el ezt a blogot, hogy többet megtudjon…

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Ahogy a tudomány gyors ütemben fejlődik, átveszi erőfeszítéseink nagy részét, megnő annak a kockázata is, hogy alávetjük magunkat egy megmagyarázhatatlan szingularitásnak. Olvassa el, mit jelenthet számunkra a szingularitás.

Az adattárolás fejlődése – Infografika

Az adattárolás fejlődése – Infografika

Az adatok tárolási módjai az Adatok születése óta alakulhatnak. Ez a blog egy infografika alapján mutatja be az adattárolás fejlődését.

A Big Data Reference Architecture Layerek funkciói

A Big Data Reference Architecture Layerek funkciói

Olvassa el a blogot, hogy a legegyszerűbb módon ismerje meg a Big Data Architecture különböző rétegeit és azok funkcióit.

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Ebben a digitálisan vezérelt világban az intelligens otthoni eszközök az élet döntő részévé váltak. Íme az intelligens otthoni eszközök néhány elképesztő előnye, hogyan teszik életünket érdemessé és egyszerűbbé.