Kuidas installida ja konfigureerida GoCD-d Ubuntu 16.04-s

GoCD on avatud lähtekoodiga pidev tarne- ja automatiseerimissüsteem. See võimaldab modelleerida keerulisi töövooge, kasutades selle paralleelset ja järjestikust täitmist. Selle väärtusvoo kaart võimaldab teil keerukat töövoogu hõlpsalt visualiseerida. GoCD võimaldab teil hõlpsasti võrrelda kahte ehitust ja juurutada mis tahes soovitud rakenduse versiooni. GoCD ökosüsteem koosneb GoCD serverist ja GoCD agendist. GoCD vastutab kõige juhtimise eest, näiteks veebipõhise kasutajaliidese käitamise ning agendile tööde haldamise ja pakkumise eest. Go agendid vastutavad tööde ja juurutamise eest.

Eeltingimused

  • Vultr Ubuntu 16.04 serveri eksemplar, millel on vähemalt 2 GB muutmälu.
  • Sudo kasutaja .
  • Domeeninimi osutas serverile.

Selle õpetuse jaoks kasutame me 192.168.1.1avaliku IP-aadressina ja gocd.example.com domeeninimena, mis on suunatud Vultri eksemplarile. Asendage kindlasti kõik näidisdomeeninime ja IP-aadressi esinemised tegeliku nimega.

Värskendage oma baassüsteemi, kasutades juhendit Kuidas värskendada Ubuntu 16.04 . Kui teie süsteem on värskendatud, jätkake Java installimisega.

Installige Java

GoCD nõuab Java versiooni 8 ja toetab nii Oracle Java kui ka OpenJDK. Lisage Oracle Java 8 jaoks Ubuntu hoidla.

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

Installige Oracle Java.

sudo apt -y install oracle-java8-installer

Kontrolli versiooni.

java -version

Näete järgmist väljundit.

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)

Määrake Java vaiketee, installides järgmise paketi.

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

Saate kontrollida, kas see JAVA_HOMEon määratud, käivitades.

echo $JAVA_HOME

Sa näed.

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

Kui te ei näe üldse väljundit, peate praegusest kestast välja logima ja uuesti sisse logima.

Installige GoCD

Installige süsteemi GoCD ametlik hoidla.

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

Installige oma süsteemi GoCD server.

sudo apt install -y go-server

Käivitage GoCD ja lubage see alglaadimisel automaatselt käivituda.

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

Enne GoCD armatuurlauale pääsemist loome artefaktide salvestamiseks uue kataloogi. Artefakte saab salvestada samale kettale, kuhu on installitud operatsioonisüsteem ja rakendused. Teise võimalusena võite artefaktide salvestamiseks kasutada spetsiaalset ketast või blokeerida salvestusseadet.

Kui soovite artefaktide salvestamiseks kasutada sama ketast, looge lihtsalt uus kataloog ja andke omandiõigus GoCD kasutajale.

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

Blokeerimissalvestuse konfigureerimine

GoCD tarkvara soovitab artefaktide salvestamiseks kasutada täiendavat partitsiooni või draivi. Pideva integreerimise ja edastamise platvormil genereeritakse artefakte väga sageli. Kettaruum väheneb aja jooksul, kui pidevalt genereeritakse uusi artefakte. Mingil etapil saab teie süsteemi vaba kettaruum otsa ja teie süsteemis töötavad teenused ebaõnnestuvad. Selle probleemi lahendamiseks saate artefaktide salvestamiseks lisada uue Vultr-ploki salvestusseadme . Kui soovite siiski jätkata artefaktide salvestamist samale draivile, minge jaotisse "GoCD seadistamine".

Juurutage uus plokkmäluketas ja ühendage see oma GoCD serveri eksemplariga. Nüüd looge plokkmäluseadmes uus partitsioon.

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

Looge uuel kettal failisüsteem.

sudo mkfs.ext4 /dev/vdb1

Paigaldage ploki mäluseade.

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

Nüüd käivitage dfja näete uut plokimäluseadet, mis on paigaldatud /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

Andke GoCD kasutajale kataloogi omandiõigus.

sudo chown -R go:go /mnt/artifacts

Seadistage GoCD

Nüüd pääsete GoCD armatuurlauale juurde saidil http://192.168.1.1:8153. Turvalise ühendusega GoCD armatuurlauale juurdepääsuks avage https://192.168.1.1:8154. Saate veateate, mis näitab, et sertifikaadid ei kehti. Võite tõrget ohutult ignoreerida, kuna sertifikaadid on ise allkirjastatud. Turvalisuse huvides peaksite armatuurlauda alati kasutama turvalise ühenduse kaudu.

Enne uue torujuhtme seadistamist navigeerige Admin >> Server Configurationülemiselt navigeerimisribalt jaotisesse " ".

Sisestage oma turvamata saidi URL Site URLväljale " " ja turvatud sait Secure Site URLväljale " ".

Kuidas installida ja konfigureerida GoCD-d Ubuntu 16.04-s

Järgmiseks esitage oma SMTP-serveri andmed, et saata GoCD-lt meiliteatisi.

Kuidas installida ja konfigureerida GoCD-d Ubuntu 16.04-s

Lõpuks sisestage tee asukohta, kuhu soovite artefakte salvestada. Kui olete valinud artefaktide salvestamise operatsioonisüsteemiga samale kettale, sisestage /opt/artifacts; kui olete valinud plokkmäluseadme manustamise, saate sisestada /mnt/artifacts.

Samuti saate seadistada GoCD vanade artefaktide automaatseks kustutamiseks. Seadistage järgmine valik vastavalt ketta suurusele. Kuid automaatse kustutamise suvand ei varunda teie vanadest artefaktidest. Varukoopia käsitsi tegemiseks ja seejärel vanade artefaktide kustutamiseks keelake automaatne kustutamine, valides Neversuvandi " Auto delete old artifacts" jaoks suvandi " ".

Kuidas installida ja konfigureerida GoCD-d Ubuntu 16.04-s

Uute muudatuste rakendamiseks peate GoCD serveri taaskäivitama.

sudo systemctl restart go-server

Autentimise seadistamine

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.

Kuidas installida ja konfigureerida GoCD-d Ubuntu 16.04-s

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.

Kuidas installida ja konfigureerida GoCD-d Ubuntu 16.04-s

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

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.

Kuidas installida ja konfigureerida GoCD-d Ubuntu 16.04-s

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.


Masinate tõus: AI tegelikud rakendused

Masinate tõus: AI tegelikud rakendused

Tehisintellekt ei ole tulevik, see on siin, olevikus. Sellest blogist loe, kuidas tehisintellekti rakendused on mõjutanud erinevaid sektoreid.

DDOS-i rünnakud: lühike ülevaade

DDOS-i rünnakud: lühike ülevaade

Kas olete ka DDOS-i rünnakute ohver ja olete segaduses ennetusmeetodite osas? Oma päringute lahendamiseks lugege seda artiklit.

Kas olete kunagi mõelnud, kuidas häkkerid raha teenivad?

Kas olete kunagi mõelnud, kuidas häkkerid raha teenivad?

Võib-olla olete kuulnud, et häkkerid teenivad palju raha, kuid kas olete kunagi mõelnud, kuidas nad sellist raha teenivad? arutleme.

Googlei revolutsioonilised leiutised, mis muudavad teie elu lihtsaks.

Googlei revolutsioonilised leiutised, mis muudavad teie elu lihtsaks.

Kas soovite näha Google'i revolutsioonilisi leiutisi ja seda, kuidas need leiutised muutsid iga inimese elu tänapäeval? Seejärel lugege ajaveebi, et näha Google'i leiutisi.

Reede oluline osa: mis juhtus tehisintellektiga juhitavate autodega?

Reede oluline osa: mis juhtus tehisintellektiga juhitavate autodega?

Isejuhtivate autode kontseptsioon tehisintellekti abil teedele jõudmiseks on meil juba mõnda aega unistus. Kuid vaatamata mitmele lubadusele pole neid kusagil näha. Lisateabe saamiseks lugege seda ajaveebi…

Tehnoloogiline singulaarsus: inimtsivilisatsiooni kauge tulevik?

Tehnoloogiline singulaarsus: inimtsivilisatsiooni kauge tulevik?

Kuna teadus areneb kiiresti, võttes üle suure osa meie jõupingutustest, suureneb ka oht, et allume seletamatule singulaarsusele. Loe, mida singulaarsus meie jaoks tähendada võiks.

Andmesalvestuse areng – infograafik

Andmesalvestuse areng – infograafik

Andmete säilitamise meetodid on arenenud alates andmete sünnist. See ajaveeb käsitleb infograafiku alusel andmete salvestamise arengut.

Suurandmete viitearhitektuuri kihtide funktsioonid

Suurandmete viitearhitektuuri kihtide funktsioonid

Lugege ajaveebi, et kõige lihtsamal viisil teada saada Big Data Architecture'i erinevaid kihte ja nende funktsioone.

6 hämmastavat eelist nutikate koduseadmete olemasolust meie elus

6 hämmastavat eelist nutikate koduseadmete olemasolust meie elus

Selles digipõhises maailmas on nutikad koduseadmed muutunud elu oluliseks osaks. Siin on mõned nutikate koduseadmete hämmastavad eelised, mis muudavad meie elu elamisväärseks ja lihtsamaks.

macOS Catalina 10.15.4 täienduse värskendus põhjustab rohkem probleeme kui lahendamine

macOS Catalina 10.15.4 täienduse värskendus põhjustab rohkem probleeme kui lahendamine

Hiljuti andis Apple välja macOS Catalina 10.15.4 täiendusvärskenduse probleemide lahendamiseks, kuid tundub, et värskendus põhjustab rohkem probleeme, mille tulemuseks on Maci masinate tellimine. Lisateabe saamiseks lugege seda artiklit