Како поставити континуирани цевовод за распоређивање са GitLab CI/CD на Ubuntu-у

Uvod

Ubrzano razvojno okruženje i kontinuirana isporuka softverskih aplikacija postali su ključni faktori u modernoj industriji razvoja softvera. GitLab CI/CD se ističe kao moćno rešenje za automatizaciju procesa izgradnje, testiranja i primene, omogućavajući razvojnim timovima da efikasno i brzo integrišu promene u produkciono okruženje uživo.

Ovaj sveobuhvatni vodič detaljno će vas provesti kroz proces uspostavljanja kontinuiranog cevovoda za primenu koristeći GitLab CI/CD na Ubuntu serveru. S jasnim uputstvima i pratećim primerima, ovaj vodič pružiće vam sve neophodne korake da podesite, konfigurišete i koristite GitLab CI/CD za automatizaciju procesa primene.

Preduslovi

Pre nego što započnete ovaj vodič, uverite se da su ispunjeni sledeći preduslovi:

  • Ubuntu 20.04 ili noviji server: Sa instaliranim Git-om i omogućenim UFW zaštitnim zidom.
  • GitLab nalog: Registrujte se za besplatan nalog na GitLab.com.
  • GitLab projekat: Kreirajte novi projekat ili iskoristite postojeći.

Koraci za postavljanje GitLab CI/CD

1. Instalacija GitLab Runner-a

GitLab Runner je servis koji izvršava poslove definisane u vašim cevovodima. Instalirajte ga pomoću sledećih naredbi:


curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh | sudo bash
sudo apt-get update
sudo apt-get install gitlab-runner

2. Konfiguracija GitLab Runner-a

Registrujte svoj GitLab Runner sa vašim GitLab projektom izvršavanjem sledeće naredbe:


sudo gitlab-runner register \
--non-interactive \
--registration-token [YOUR_TOKEN] \
--executor=docker \
--description="Moj Ubuntu Runner" \
--tags="ubuntu,docker"

Zamenite [YOUR_TOKEN] sa registracijskim tokenom generisanim za vaš projekat na GitLab-u.

3. Kloniranje GitLab projekta

Klonirajte svoj GitLab projekat na svoj Ubuntu server izvršavanjem sledeće naredbe:


git clone https://gitlab.com/[YOUR_USERNAME]/[YOUR_PROJECT_NAME].git

4. Definisanje GitLab CI/CD konfiguracije

U korenskom direktorijumu projekta, kreirajte datoteku .gitlab-ci.yml koja će definisati konfiguraciju CI/CD cevovoda. Sadržaj ove datoteke može se prilagoditi sledećem primeru:


image: docker:latest

stages:
- build
- test
- deploy

build:
stage: build
script:
- docker build -t my-image .

test:
stage: test
script:
- docker run my-image pytest

deploy:
stage: deploy
script:
- docker run -d -p 80:80 my-image

Ova konfiguracija definiše trostepeni CI/CD cevovod: izgradnju, testiranje i primenu.

5. Pokretanje CI/CD cevovoda

Da biste pokrenuli CI/CD cevovod, jednostavno potisnite (push) svoje promene na GitLab. GitLab Runner će automatski pokrenuti poslove definisane u .gitlab-ci.yml datoteci.

Praćenje i pregled statusa cevovoda

Možete pratiti napredak i pregledati status svog cevovoda u GitLab CI/CD interfejsu. Pri pristup statusu, videćete sledeće:

  • Status izgradnje: Označava da li je izgradnja bila uspešna ili nije.
  • Status testa: Označava da li su testovi prošli ili nisu.
  • Status primene: Označava da li je primena bila uspešna ili nije.

Zaključak

Postavljanjem kontinuiranog cevovoda za primenu sa GitLab CI/CD, efikasno ste automatizovali proces primene softverskih aplikacija. Eliminacijom ručnih koraka i smanjenjem grešaka, omogućili ste svom razvojnom timu da brzo i efikasno isporučuje promene u produkciono okruženje uživo. GitLab CI/CD nudi fleksibilnu platformu koja se može prilagoditi specifičnim potrebama vašeg projekta, omogućavajući vam da dodate dodatne faze, zadatke i uslove za dalju optimizaciju vašeg procesa primene.

Umesto ručnog upravljanja svakim korakom procesa primene, GitLab CI/CD vam pruža moćne alate koji vam omogućavaju da definišete, automatizujete i nadgledate ceo proces, omogućavajući vam da se fokusirate na razvoj funkcija i poboljšanje kvaliteta aplikacije. Prihvatite moć GitLab CI/CD-a i uživajte u prednostima brzog i bezbolnog procesa primene.

Često postavljana pitanja

1. Da li je GitLab CI/CD besplatan za korišćenje?

Da, GitLab CI/CD je besplatan za korišćenje za javne projekte, uz ograničen broj minuta izgradnje. Za privatne projekte i dodatne minute izgradnje potrebna je pretplata.

2. Koje tipove CI/CD zadataka mogu biti definisani u .gitlab-ci.yml datoteci?

Možete definisati različite zadatke, uključujući izgradnju, testiranje, primenu, statičku analizu, linting i mnoge druge zadatke.

3. Kako mogu prilagoditi Docker sliku koja se koristi za CI/CD cevovod?

Možete definisati svoju prilagođenu Docker sliku u .gitlab-ci.yml datoteci koristeći ključ image. Takođe, možete koristiti varijable da konfigurišete sliku za vreme izvršavanja.

4. Šta je CI/CD frekvencija?

CI/CD frekvencija se odnosi na to koliko često se CI/CD cevovod pokreće. Možete konfigurisati cevovod da se pokreće svaki put kada se izvrši potiskivanje koda (push), više puta dnevno ili na osnovu određenih događaja.

5. Kako mogu pratiti status svog CI/CD cevovoda?

Možete pratiti status CI/CD cevovoda u GitLab CI/CD interfejsu. GitLab će takođe slati e-mailove sa rezultatima izgradnje i obaveštenjima o grešci.

6. Kako mogu dodati dodatne faze u svoj CI/CD cevovod?

Da biste dodali dodatne faze, jednostavno dodajte novu sekciju u .gitlab-ci.yml datoteku i definišite zadatke za svaku fazu.

7. Kako mogu ukloniti svoj GitLab Runner?

Da biste uklonili GitLab Runner, pokrenite sledeću naredbu: sudo gitlab-runner unregister

8. Da li postoji podrška za druge tipove CI usluga, osim