Kaip įdiegti ir konfigūruoti GoCD Ubuntu 16.04

GoCD yra atvirojo kodo nuolatinio pristatymo ir automatizavimo sistema. Tai leidžia modeliuoti sudėtingas darbo eigas naudojant lygiagretų ir nuoseklų vykdymą. Jo vertės srauto žemėlapis leidžia lengvai vizualizuoti sudėtingą darbo eigą. „GoCD“ leidžia lengvai palyginti dvi versijas ir įdiegti bet kurią norimos programos versiją. GoCD ekosistemą sudaro GoCD serveris ir GoCD agentas. „GoCD“ yra atsakinga už visko, pvz., žiniatinklio vartotojo sąsajos paleidimą ir užduočių tvarkymą bei teikimą agentui, valdymą. „Go“ agentai yra atsakingi už darbų vykdymą ir diegimą.

Būtinos sąlygos

  • „Vultr Ubuntu 16.04“ serverio egzempliorius su mažiausiai 2 GB RAM.
  • Sudo vartotojas .
  • Domeno vardas nukreiptas į serverį.

Šioje pamokoje naudosime 192.168.1.1kaip viešąjį IP adresą ir gocd.example.com kaip domeno pavadinimą, nukreiptą į Vultr egzempliorių. Būtinai pakeiskite visus pavyzdinio domeno vardo ir IP adreso atvejus tikruoju.

Atnaujinkite bazinę sistemą naudodami vadovą Kaip atnaujinti Ubuntu 16.04 . Kai sistema bus atnaujinta, tęskite „Java“ diegimą.

Įdiegti Java

„GoCD“ reikalinga 8 „Java“ versija ir palaiko „Oracle Java“ ir „OpenJDK“. Pridėkite „Ubuntu“ saugyklą, skirtą „Oracle Java 8“.

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

Įdiekite „Oracle Java“.

sudo apt -y install oracle-java8-installer

Patikrinkite versiją.

java -version

Pamatysite tokią išvestį.

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)

Įdiegę šį paketą, nustatykite numatytąjį Java kelią.

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

Galite patikrinti, ar JAVA_HOMEnustatyta paleisdami.

echo $JAVA_HOME

Pamatysi.

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

Jei nematote išvesties, turėsite atsijungti nuo dabartinio apvalkalo ir vėl prisijungti.

Įdiekite GoCD

Įdiekite GoCD oficialią saugyklą į sistemą.

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

Įdiekite GoCD serverį savo sistemoje.

sudo apt install -y go-server

Paleiskite GoCD ir įgalinkite jį automatiškai paleisti įkrovos metu.

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

Prieš patekdami į GoCD prietaisų skydelį, sukurkime naują katalogą artefaktams saugoti. Artefaktai gali būti saugomi tame pačiame diske, kuriame įdiegta operacinė sistema ir programos. Arba galite naudoti tam skirtą diską arba blokuoti saugojimo įrenginį, kad saugotumėte artefaktus.

Jei norite naudoti tą patį diską artefaktams saugoti, tiesiog sukurkite naują katalogą ir suteikite nuosavybės teisę GoCD vartotojui.

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

Konfigūruoti bloko saugyklą

GoCD programinė įranga rekomenduoja artefaktams saugoti naudoti papildomą skaidinį arba diską. Nuolatinėje integravimo ir pristatymo platformoje artefaktai generuojami labai dažnai. Laikui bėgant vietos diske mažėja, kai nuolat generuojami nauji artefaktai. Tam tikru etapu jūsų sistemoje pritrūks laisvos vietos diske ir jūsų sistemoje veikiančios paslaugos suges. Norėdami išspręsti šią problemą, galite pridėti naują „ Vultr“ bloko atminties diską, kad saugotumėte artefaktus. Jei vis tiek norite saugoti artefaktus tame pačiame diske, pereikite prie skyriaus „Konfigūruoti GoCD“.

Įdiekite naują blokinį saugojimo diską ir pridėkite jį prie savo GoCD serverio egzemplioriaus. Dabar sukurkite naują skaidinį bloko saugojimo įrenginyje.

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

Sukurkite failų sistemą naujame diske.

sudo mkfs.ext4 /dev/vdb1

Sumontuokite bloko saugojimo įrenginį.

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

Dabar paleiskite dfir pamatysite naują bloko atminties įrenginį, pritvirtintą prie /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

Suteikite katalogo nuosavybės teisę GoCD vartotojui.

sudo chown -R go:go /mnt/artifacts

Konfigūruoti GoCD

Dabar GoCD prietaisų skydelį galite pasiekti naudodami http://192.168.1.1:8153. Norėdami pasiekti GoCD prietaisų skydelį saugiu ryšiu, pasiekite https://192.168.1.1:8154. Gausite klaidą, rodančią, kad sertifikatai negalioja. Galite saugiai nekreipti dėmesio į klaidą, nes sertifikatai yra patys pasirašyti. Saugumo sumetimais prietaisų skydelį visada turėtumėte naudoti saugiu ryšiu.

Prieš nustatydami naują dujotiekį, Admin >> Server Configurationviršutinėje naršymo juostoje eikite į „ “.

Site URLLauke „ “ įveskite nesaugios svetainės URL, o lauke „ “ – apsaugotą svetainę Secure Site URL.

Kaip įdiegti ir konfigūruoti GoCD Ubuntu 16.04

Tada pateikite savo SMTP serverio informaciją, kad galėtumėte siųsti el. pašto pranešimus iš GoCD.

Kaip įdiegti ir konfigūruoti GoCD Ubuntu 16.04

Galiausiai nurodykite kelią į vietą, kurioje norite saugoti artefaktus. Jei pasirinkote saugoti artefaktus tame pačiame diske kaip ir operacinė sistema, įveskite /opt/artifacts; jei pasirinkote prijungti blokinį atminties įrenginį, galite įvesti /mnt/artifacts.

Taip pat galite sukonfigūruoti GoCD, kad automatiškai ištrintų senus artefaktus. Sukonfigūruokite kitą parinktį pagal savo disko dydį. Tačiau automatinio ištrynimo parinktis nekuria atsarginės senų artefaktų kopijos. Norėdami rankiniu būdu sukurti atsarginę kopiją ir ištrinti senus artefaktus, išjunkite automatinį ištrynimą pasirinkdami " Never" parinktį prie parinkties " Auto delete old artifacts".

Kaip įdiegti ir konfigūruoti GoCD Ubuntu 16.04

Turėsite iš naujo paleisti GoCD serverį, kad būtų pritaikyti nauji pakeitimai.

sudo systemctl restart go-server

Nustatykite autentifikavimą

Pagal numatytuosius nustatymus GoCD prietaisų skydelis nėra sukonfigūruotas naudoti bet kokį autentifikavimą, tačiau palaiko autentifikavimą naudojant slaptažodžio failą ir LDAP. Šioje pamokoje mes nustatysime slaptažodžiu pagrįstą autentifikavimą.

Pastaba : autentifikavimo nustatymas yra neprivalomas veiksmas, tačiau tai primygtinai rekomenduojama viešiesiems serveriams, pvz., Vultr.

Įdiekite „Apache“ įrankius, kad galėtume naudoti htpasswd komandą šifruotam slaptažodžio failui sukurti.

sudo apt -y install apache2-utils

Sukurkite slaptažodžio failą naudodami htpasswd komandą naudodami Bcrypt šifravimą.

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

Du kartus pateikite vartotojo slaptažodį. Pamatysite tokią išvestį.

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

Galite pridėti tiek vartotojų, kiek norite, naudodami tą pačią aukščiau esančią komandą, bet pašalinkite -c parinktį. Ši -c parinktis pakeis esamą failą, pakeisdama senus vartotojus nauju vartotoju.

sudo htpasswd -B /etc/go/passwd_auth gouser1

Dabar, kai sukūrėme slaptažodžio failą, vėl prisijunkite prie GoCD prietaisų skydelio. Admin >> Security >> Authorization ConfigurationsViršutinėje naršymo juostoje eikite į „ “. Spustelėkite Add mygtuką ir pateikite bet kokį ID. Password File Authentication Plugin for GoCDPapildinio ID pasirinkite " " ir nukreipkite kelią į slaptažodžio failą. Dabar spustelėkite Check Connectionmygtuką " ", kad patikrintumėte, ar GoCD gali naudoti slaptažodžio failą autentifikavimui.

Kaip įdiegti ir konfigūruoti GoCD Ubuntu 16.04

Galiausiai išsaugokite autentifikavimo metodą. Iš naujo įkelkite prietaisų skydelį ir jis automatiškai atsijungs. Dabar pamatysite prisijungimo ekraną. Prisijunkite naudodami anksčiau sukurtus kredencialus.

Administratoriaus vartotoją turėsite reklamuoti rankiniu būdu, kitaip visi vartotojai turės administratoriaus teises. Admin >> User SummaryViršutinėje naršymo juostoje eikite į „ “.

Dabar pasirinkite sukurtą administratoriaus naudotoją ir spustelėkite Rolesišskleidžiamąjį meniu. Paaukštinkite vartotoją į vienintelį administratorių, pažymėdami Go System Administratoržymimąjį laukelį.

Kaip įdiegti ir konfigūruoti GoCD Ubuntu 16.04

Norėdami įtraukti vartotojus į GoCD, sukurtą slaptažodžio faile, spustelėkite ADDmygtuką " " ir ieškokite vartotojo, kuris juos pridės. Vartotojai taip pat automatiškai įtraukiami į GoCD prietaisų skydelį pirmą kartą prisijungus. Akivaizdu, kad vartotojai gali prisijungti, jie turi būti įtraukti į mūsų anksčiau sukurtą slaptažodžio failą.

GoCD apsauga naudojant Let's Encrypt SSL

Pagal numatytuosius nustatymus GoCD klauso prievadų 8153 ir 8154 saugių ryšių. Nors prievadas 8154 užtikrina saugų ryšį su programa, jis taip pat rodo naršyklės klaidas, nes naudoja savarankiškai pasirašytą sertifikatą. Šioje pamokos dalyje įdiegsime ir apsaugome „Nginx“ naudodami „Let's Encrypt“ nemokamą SSL sertifikatą. „Nginx“ žiniatinklio serveris veiks kaip atvirkštinis tarpinis serveris, persiunčiantis gaunamas užklausas į „GoCD“ HTTP galinį tašką.

Įdiekite „Nginx“.

sudo apt -y install nginx

Paleiskite Nginx ir įgalinkite jį automatiškai paleisti įkrovos metu.

sudo systemctl start nginx
sudo systemctl enable nginx

Pridėkite Certbot saugyklą.

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

Įdiekite „Certbot“, kuri yra „Let's Encrypt CA“ kliento programa.

sudo apt -y install certbot

Note: To obtain certificates from Let's Encrypt CA, the domain for which the certificates are to be generated must be pointed towards the server. If not, make the necessary changes to the DNS records of the domain and wait for the DNS to propagate before making the certificate request again. Certbot checks the domain authority before providing the certificates.

Generate the SSL certificates.

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

The generated certificates are likely to be stored in /etc/letsencrypt/live/gocd.example.com/. The SSL certificate will be stored as fullchain.pem and private key will be stored as privkey.pem.

Let's Encrypt certificates expire in 90 days, so it is recommended to set up auto-renewal of the certificates using cron jobs.

Open the cron job file.

sudo crontab -e

Add the following line to the end of the file.

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

The above cron job will run every day at 5:30 AM. If the certificate is due for expiration, it will automatically renew.

Create a new configuration file for the GoCD web interface.

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

Populate the file.

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

Activate the configuration file.

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

Restart the Nginx web server to implement the change in configuration.

sudo systemctl restart nginx

Now you can access the GoCD dashboard at https://gocd.example.com. Log into your dashboard using the administrator credentials and navigate to "Admin >> Server Configuration" from the top navigation bar.

Kaip įdiegti ir konfigūruoti GoCD Ubuntu 16.04

Set the "Site URL" and "Secure Site URL" to https://gocd.example.com.

Installing GoCD Agent

In the GoCD continuous integration environment, GoCD agents are the workers that are responsible for the execution of all the tasks. When a change in the source is detected, the pipeline is triggered and the jobs are assigned to available workers for execution. The agent then executes the task and reports the final status after execution.

To run a pipeline, at least one agent must to be configured. Proceed to install the GoCD agent on the GoCD server.

Since we have already imported the GoCD repository into the server, we can directly install Go Agent.

sudo apt install -y go-agent

Now, start the GoCD server and enable it to automatically start at boot time.

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

The GoCD agent running on the localhost is automatically enabled when detected.


Leave a Comment

Mašinų augimas: AI pritaikymas realiame pasaulyje

Mašinų augimas: AI pritaikymas realiame pasaulyje

Dirbtinis intelektas nėra ateityje, jis čia, dabartyje Šiame tinklaraštyje Skaitykite, kaip dirbtinio intelekto programos paveikė įvairius sektorius.

DDOS atakos: trumpa apžvalga

DDOS atakos: trumpa apžvalga

Ar taip pat esate DDOS atakų auka ir esate sumišęs dėl prevencijos metodų? Perskaitykite šį straipsnį, kad išspręstumėte savo užklausas.

Ar kada nors susimąstėte, kaip įsilaužėliai uždirba pinigų?

Ar kada nors susimąstėte, kaip įsilaužėliai uždirba pinigų?

Galbūt girdėjote, kad įsilaužėliai uždirba daug pinigų, bet ar kada susimąstėte, kaip jie uždirba tokius pinigus? padiskutuokime.

Revoliuciniai „Google“ išradimai, kurie palengvins jūsų gyvenimą.

Revoliuciniai „Google“ išradimai, kurie palengvins jūsų gyvenimą.

Ar norite pamatyti revoliucinius „Google“ išradimus ir kaip šie išradimai pakeitė kiekvieno žmogaus gyvenimą šiandien? Tada skaitykite tinklaraštį, kad pamatytumėte „Google“ išradimus.

Penktadienio esminiai dalykai: kas atsitiko AI varomiems automobiliams?

Penktadienio esminiai dalykai: kas atsitiko AI varomiems automobiliams?

Savavaledžių automobilių koncepcija, kuri išvažiuotų į kelius su dirbtinio intelekto pagalba, yra svajonė, kurią jau kurį laiką svajojame. Tačiau nepaisant kelių pažadų, jų niekur nematyti. Skaitykite šį tinklaraštį, kad sužinotumėte daugiau…

Technologinis išskirtinumas: tolima žmogaus civilizacijos ateitis?

Technologinis išskirtinumas: tolima žmogaus civilizacijos ateitis?

Kadangi mokslas sparčiai vystosi, perimdamas daug mūsų pastangų, taip pat didėja rizika, kad pateksime į nepaaiškinamą singuliarumą. Skaitykite, ką mums gali reikšti išskirtinumas.

Duomenų saugojimo raida – infografika

Duomenų saugojimo raida – infografika

Duomenų saugojimo metodai gali būti tobulinami nuo pat Duomenų gimimo. Šiame tinklaraštyje, remiantis infografika, aprašoma duomenų saugojimo raida.

Didžiųjų duomenų atskaitos architektūros sluoksnių funkcijos

Didžiųjų duomenų atskaitos architektūros sluoksnių funkcijos

Skaitykite tinklaraštį, kad paprasčiausiai sužinotumėte apie skirtingus didžiųjų duomenų architektūros sluoksnius ir jų funkcijas.

6 nuostabūs išmaniųjų namų įrenginių privalumai

6 nuostabūs išmaniųjų namų įrenginių privalumai

Šiame skaitmeniniu būdu pagrįstame pasaulyje išmanieji namų įrenginiai tapo svarbia gyvenimo dalimi. Štai keletas nuostabių išmaniųjų namų įrenginių privalumų, kaip jie daro mūsų gyvenimą vertą gyventi ir paprastesnį.

„macOS Catalina 10.15.4“ priedo atnaujinimas kelia daugiau problemų, nei sprendžia

„macOS Catalina 10.15.4“ priedo atnaujinimas kelia daugiau problemų, nei sprendžia

Neseniai „Apple“ išleido „macOS Catalina 10.15.4“ priedą, skirtą problemoms išspręsti, tačiau atrodo, kad dėl atnaujinimo kyla daugiau problemų, dėl kurių „Mac“ įrenginiai blokuojami. Norėdami sužinoti daugiau, perskaitykite šį straipsnį