Како инсталирати и конфигурисати ГоЦД на Убунту 16.04

ГоЦД је систем за континуирану испоруку и аутоматизацију отвореног кода. Омогућава вам да моделујете сложене токове рада користећи његово паралелно и секвенцијално извршење. Његова мапа тока вредности омогућава вам да лако визуализујете сложен ток посла са лакоћом. ГоЦД вам омогућава да лако упоредите две верзије и примените било коју верзију апликације коју желите. ГоЦД екосистем се састоји од ГоЦД сервера и ГоЦД агента. ГоЦД је одговоран за контролу свега, као што је покретање веб-базираног корисничког интерфејса и управљање и пружање послова агенту. Го агенти су одговорни за обављање послова и имплементације.

Предуслови

  • Инстанца сервера Вултр Убунту 16.04 са најмање 2 ГБ РАМ-а.
  • : Судо корисника .
  • Име домена усмерено ка серверу.

За овај водич користићемо 192.168.1.1као јавну ИП адресу и gocd.example.com као име домена усмерено на Вултр инстанцу. Обавезно замените сва појављивања примера имена домена и ИП адресе стварним.

Ажурирајте свој основни систем користећи водич Како ажурирати Убунту 16.04 . Када се ваш систем ажурира, наставите са инсталирањем Јаве.

Инсталирајте Јава

ГоЦД захтева Јава верзију 8 и подржава и Орацле Јава и ОпенЈДК. Додајте Убунту спремиште за Орацле Јава 8.

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

Инсталирајте Орацле Јава.

sudo apt -y install oracle-java8-installer

Проверите верзију.

java -version

Видећете следећи излаз.

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)

Поставите подразумевану путању за Јаву тако што ћете инсталирати следећи пакет.

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

Можете да проверите да ли JAVA_HOMEје подешено покретањем.

echo $JAVA_HOME

Видећеш.

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

Ако уопште не видите никакав излаз, мораћете да се одјавите из тренутне љуске и поново се пријавите.

Инсталирајте ГоЦД

Инсталирајте ГоЦД-ово званично складиште у систем.

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

Инсталирајте ГоЦД сервер у свој систем.

sudo apt install -y go-server

Покрените ГоЦД и омогућите му да се аутоматски покреће при покретању.

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

Пре него што приступимо ГоЦД контролној табли, хајде да направимо нови директоријум за чување артефаката. Артефакти се могу чувати на истом диску на којем су инсталирани оперативни систем и апликације. Алтернативно, можете да користите наменски диск или блок за складиштење за складиштење артефаката.

Ако желите да користите исти диск за складиштење артефаката, само направите нови директоријум и обезбедите власништво ГоЦД кориснику.

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

Конфигуришите Блоцк Стораге

ГоЦД софтвер препоручује да користите додатну партицију или драјв за чување артефаката. У континуираној платформи интеграције и испоруке, артефакти се генеришу врло често. Простор на диску се временом смањује када се нови артефакти континуирано генеришу. У некој фази, вашем систему ће понестати слободног простора на диску и услуге које раде на вашем систему ће отказати. Да бисте превазишли овај проблем, можете да прикључите нови Вултр блок за складиштење за складиштење артефаката. Ако и даље желите да се бавите складиштењем артефаката на истом диску, пређите на одељак „Конфигуришите ГоЦД“.

Поставите нови блок за складиштење и прикључите га на инстанцу ГоЦД сервера. Сада креирајте нову партицију на блок уређају за складиштење.

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

Креирајте систем датотека на новом диску.

sudo mkfs.ext4 /dev/vdb1

Монтирајте блок за складиштење.

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

Сада покрените dfи видећете нови блок за складиштење монтиран на /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

Обезбедите власништво над директоријумом ГоЦД кориснику.

sudo chown -R go:go /mnt/artifacts

Конфигуришите ГоЦД

Сада можете приступити ГоЦД контролној табли на http://192.168.1.1:8153. Да бисте приступили ГоЦД контролној табли на безбедној вези, приступите https://192.168.1.1:8154. Добићете грешку која показује да сертификати нису важећи. Можете безбедно да игноришете грешку јер су сертификати самопотписани. Из безбедносних разлога, увек треба да користите контролну таблу преко безбедне везе.

Пре него што подесите нови цевовод, идите на „ Admin >> Server Configuration“ са горње траке за навигацију.

Унесите УРЛ вашег незаштићеног сајта у поље " Site URL" и заштићеног сајта у поље " Secure Site URL".

Како инсталирати и конфигурисати ГоЦД на Убунту 16.04

Затим наведите детаље свог СМТП сервера да бисте слали обавештења путем е-поште са ГоЦД-а.

Како инсталирати и конфигурисати ГоЦД на Убунту 16.04

На крају, наведите путању до локације на којој желите да ускладиштите артефакте. Ако сте изабрали да складиштите артефакте на истом диску као и оперативни систем, унесите /opt/artifacts; ако сте изабрали да прикључите блок за складиштење, онда можете да унесете /mnt/artifacts.

Такође можете да конфигуришете ГоЦД да аутоматски брише старе артефакте. Конфигуришите следећу опцију према величини вашег диска. Међутим, опција аутоматског брисања не прави резервну копију ваших старих артефаката. Да бисте ручно направили резервну копију и затим избрисали старе артефакте, онемогућите аутоматско брисање тако што ћете изабрати Neverопцију " Auto delete old artifacts" за опцију " ".

Како инсталирати и конфигурисати ГоЦД на Убунту 16.04

Мораћете поново да покренете ГоЦД сервер да би се примениле нове промене.

sudo systemctl restart go-server

Сетуп Аутхентицатион

Подразумевано, ГоЦД контролна табла није конфигурисана да користи било коју врсту аутентификације, али подржава аутентификацију помоћу датотеке лозинке и ЛДАП-а. У овом водичу ћемо поставити аутентификацију засновану на лозинки.

Напомена : Подешавање аутентификације је опциони корак, али се топло препоручује за јавне сервере, као што је Вултр.

Инсталирајте Апацхе алате тако да можемо користити htpasswd команду за креирање шифроване датотеке лозинке.

sudo apt -y install apache2-utils

Креирајте датотеку лозинке помоћу htpasswd команде користећи Бцрипт енкрипцију.

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

Унесите лозинку за корисника два пута. Видећете следећи излаз.

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

Можете додати колико год корисника желите користећи исту команду изнад, али уклоните -c опцију. -c Опција ће заменити постојећу датотеку, замена старих корисника са новим корисника.

sudo htpasswd -B /etc/go/passwd_auth gouser1

Сада када смо креирали датотеку лозинке, поново приступите ГоЦД контролној табли. Идите на „ Admin >> Security >> Authorization Configurations“ са горње траке за навигацију. Кликните на Add дугме и унесите било који ИД. Изаберите „ Password File Authentication Plugin for GoCD“ за ИД додатка и усмерите путању до датотеке лозинке. Сада кликните на дугме " Check Connection" да бисте потврдили да ГоЦД може да користи датотеку лозинке за аутентификацију.

Како инсталирати и конфигурисати ГоЦД на Убунту 16.04

На крају, сачувајте метод аутентификације. Поново учитајте контролну таблу и она ће вас аутоматски одјавити. Сада ћете видети екран за пријаву. Пријавите се користећи раније креиране акредитиве.

Мораћете ручно да унапредите корисника администратора, иначе ће сви корисници имати администраторске привилегије. Идите на „ Admin >> User Summary“ са горње траке за навигацију.

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.

Како инсталирати и конфигурисати ГоЦД на Убунту 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

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

Напомена : Да бисте добили сертификате од Лет'с Енцрипт ЦА, домен за који ће се сертификати генерисати мора бити усмерен ка серверу. Ако није, извршите неопходне промене у ДНС записима домена и сачекајте да се ДНС пропагира пре него што поново поднесете захтев за сертификат. Цертбот проверава ауторитет домена пре пружања сертификата.

Генеришите ССЛ сертификате.

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

Генерисани сертификати ће вероватно бити ускладиштени у /etc/letsencrypt/live/gocd.example.com/. ССЛ сертификат ће бити сачуван као, fullchain.pem а приватни кључ ће бити сачуван као privkey.pem.

Лет'с Енцрипт сертификати истичу за 90 дана, па се препоручује да подесите аутоматско обнављање сертификата користећи црон послове.

Отворите црон датотеку посла.

sudo crontab -e

Додајте следећи ред на крај датотеке.

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

Горњи црон посао ће се покретати сваког дана у 5:30 ујутро. Ако сертификат истекне, аутоматски ће се обновити.

Креирајте нову конфигурациону датотеку за ГоЦД веб интерфејс.

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

Попуните датотеку.

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

Активирајте конфигурациону датотеку.

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

Поново покрените Нгинк веб сервер да бисте применили промену у конфигурацији.

sudo systemctl restart nginx

Сада можете приступити ГоЦД контролној табли на https://gocd.example.com. Пријавите се на своју контролну таблу користећи администраторске акредитиве и идите на „ Admin >> Server Configuration“ са горње траке за навигацију.

Како инсталирати и конфигурисати ГоЦД на Убунту 16.04

Поставите " Site URL" и " Secure Site URL" на https://gocd.example.com.

Инсталирање ГоЦД агента

У окружењу ГоЦД континуиране интеграције, ГоЦД агенти су радници који су одговорни за извршавање свих задатака. Када се открије промена у извору, цевовод се покреће и послови се додељују доступним радницима за извршење. Агент затим извршава задатак и извештава о коначном статусу након извршења.

Да бисте покренули цевовод, најмање један агент мора бити конфигурисан. Наставите да инсталирате ГоЦД агента на ГоЦД сервер.

Пошто смо већ увезли ГоЦД спремиште на сервер, можемо директно да инсталирамо Го Агент.

sudo apt install -y go-agent

Сада покрените ГоЦД сервер и омогућите му да се аутоматски покреће при покретању.

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

ГоЦД агент који ради на локалном хосту је аутоматски омогућен када се открије.


Leave a Comment

Успон машина: Примене вештачке интелигенције у стварном свету

Успон машина: Примене вештачке интелигенције у стварном свету

Вештачка интелигенција није у будућности, она је овде управо у садашњости. У овом блогу Прочитајте како су апликације вештачке интелигенције утицале на различите секторе.

ДДОС напади: кратак преглед

ДДОС напади: кратак преглед

Да ли сте и ви жртва ДДОС напада и збуњени сте методама превенције? Прочитајте овај чланак да бисте решили своја питања.

Да ли сте се икада запитали како хакери зарађују новац?

Да ли сте се икада запитали како хакери зарађују новац?

Можда сте чули да хакери зарађују много новца, али да ли сте се икада запитали како зарађују толики новац? Хајде да причамо.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Да ли желите да видите револуционарне изуме Гугла и како су ти изуми променили живот сваког људског бића данас? Затим читајте на блогу да бисте видели Гооглеове изуме.

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Концепт самовозећих аутомобила који путују на путеве уз помоћ вештачке интелигенције је сан који већ неко време имамо. Али упркос неколико обећања, њих нема нигде. Прочитајте овај блог да сазнате више…

Технолошка сингуларност: далека будућност људске цивилизације?

Технолошка сингуларност: далека будућност људске цивилизације?

Како се наука развија великом брзином, преузимајући многе наше напоре, расте и ризик да се подвргнемо необјашњивој сингуларности. Прочитајте шта би сингуларност могла да значи за нас.

Еволуција складиштења података – Инфографика

Еволуција складиштења података – Инфографика

Методе складиштења података су се развијале можда од рођења података. Овај блог покрива еволуцију складиштења података на основу инфографике.

Функционалности слојева референтне архитектуре великих података

Функционалности слојева референтне архитектуре великих података

Прочитајте блог да бисте на најједноставнији начин упознали различите слојеве у архитектури великих података и њихове функционалности.

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

У овом дигиталном свету, паметни кућни уређаји постали су кључни део живота. Ево неколико невероватних предности паметних кућних уређаја о томе како они чине наш живот вредним живљења и једноставнијим.

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Недавно је Аппле издао мацОС Цаталина 10.15.4 додатак за исправку проблема, али изгледа да ажурирање изазива више проблема који доводе до квара Мац машина. Прочитајте овај чланак да бисте сазнали више