Jak nastavit kontinuální integrační/kontinuální dodávkový kanál s GitLab CI/CD na Ubuntu

Photo of author

By etechblogcz


Konfigurace CI/CD s GitLab CI/CD na Ubuntu

Úvodní informace

Kontinuální integrace (CI) a kontinuální doručování (CD) představují základní prvky metodologie DevOps, které napomáhají zautomatizovat vývoj softwaru a urychlit jeho uvedení na trh. GitLab CI/CD je nástroj, který se pro tyto účely skvěle hodí, a je snadno implementovatelný na serverech s Ubuntu. Tento návod vás krok za krokem provede procesem nastavení CI/CD pipeline pomocí GitLab CI/CD na platformě Ubuntu.

Co je to GitLab CI/CD?

GitLab CI/CD je flexibilní platforma pro CI/CD, dostupná jak v cloudu, tak i pro on-premise nasazení, umožňující:

  • Automatizované sestavení, testování a nasazení: Umožňuje definovat automatické spouštění procesů při každé změně v repozitáři kódu.
  • Spolupráci na CI/CD procesech: Poskytuje nástroje pro týmovou spolupráci, včetně možnosti hodnocení a sledování stavu úloh.
  • Integraci s externími nástroji: Podporuje napojení na různé systémy třetích stran, jako jsou například systémy pro správu chyb a nástroje pro statickou analýzu kódu.

Instalace GitLab Runner

Prvním krokem při konfiguraci CI/CD je instalace GitLab Runneru na server Ubuntu, kde budou probíhat úlohy CI/CD.

1. Aktualizace systému Ubuntu:
sudo apt update

2. Instalace balíčku GitLab Runner:
sudo apt install gitlab-runner

3. Aktivace a spuštění služby GitLab Runner:
sudo systemctl enable gitlab-runner
sudo systemctl start gitlab-runner

Registrace GitLab Runneru

Nyní je nutné provést registraci GitLab Runneru v rámci vaší instance GitLab.

1. Získání registračního tokenu GitLab CI: Přejděte do nastavení GitLab instance a v sekci „Runners“ vyberte „Generate new registration token“.

2. Spuštění registračního příkazu Runneru: V terminálu na serveru Ubuntu zadejte následující příkaz, přičemž [REGISTRATION_TOKEN] nahraďte registračním tokenem, který jste získali v předchozím kroku:
sudo gitlab-runner register \
--non-interactive \
--url "https://gitlab.example.com" \
--registration-token "[REGISTRATION_TOKEN]" \
--executor "docker" \
--description "Ubuntu Runner" \
--tag-list "ubuntu,docker"

Nastavení CI/CD pipeline

Dalším krokem je definice CI/CD pipeline ve vašem Git repozitáři.

1. Vytvoření souboru .gitlab-ci.yml: V kořenovém adresáři vašeho Git repozitáře vytvořte soubor .gitlab-ci.yml s následujícím obsahem:
yaml
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 push my-image
- kubectl apply -f deployment.yaml

2. Uložení souboru .gitlab-ci.yml: Změny uložte do repozitáře Git.

Spuštění CI/CD pipeline

Po úspěšné konfiguraci CI/CD pipeline můžete zahájit její běh provedením změn ve vašem Git repozitáři.

1. Provedení změny v kódu: Udělejte jakoukoli úpravu v kódu.

2. Uložení změny: Změny zašlete do Git repozitáře.

3. Spuštění CI/CD pipeline: Tato akce aktivuje spuštění vaší CI/CD pipeline.

4. Sledování postupu: V rozhraní GitLabu můžete monitorovat průběh CI/CD úloh.

Závěr

Konfigurace CI/CD s GitLab CI/CD na Ubuntu je poměrně jednoduchý proces, který má potenciál výrazně zefektivnit vývoj softwaru. Díky automatizaci sestavování, testování a nasazování můžete ušetřit čas, minimalizovat chyby a dosáhnout vyšší kvality a spolehlivosti softwarových produktů.

Začlenění GitLab CI/CD do vašeho vývojového procesu pomůže vašemu týmu:

  • Urychlit tempo dodávek nových verzí.
  • Zajistit konzistentní a kvalitní sestavení.
  • Zlepšit týmovou spolupráci.
  • Získat lepší přehled o průběhu CI/CD procesů.

Implementujte CI/CD s GitLab CI/CD ještě dnes a využijte výhod automatizace a zjednodušení pracovních postupů.

Často kladené dotazy

1. Jaké jsou přínosy používání GitLab CI/CD?

  • Automatizace sestavování, testování a nasazování
  • Zrychlení dodávek nových verzí
  • Zajištění konzistence a vysoké kvality sestavení
  • Zlepšení spolupráce v týmu

2. Jaké typy úloh je možné zautomatizovat pomocí GitLab CI/CD?

  • Sestavování kódu
  • Testování kódu
  • Nasazování do různých prostředí
  • Statická analýza kódu

3. Jak se liší GitLab Runner od GitLab CI/CD?

  • GitLab Runner je agent, který vykonává úlohy CI/CD na serveru.
  • GitLab CI/CD je platforma pro správu a spouštění úloh CI/CD.

4. Jaké jsou jednotlivé fáze CI/CD pipeline?

  • Sestavení (Build)
  • Testování (Test)
  • Nasazení (Deploy)

5. Jak se spouští CI/CD pipeline?

  • Provedením a odesláním změn do Git repozitáře.
  • Tyto změny automaticky spustí pipeline.

6. Kde lze sledovat průběh CI/CD úloh?

  • V uživatelském rozhraní GitLabu.

7. Jak integrovat GitLab CI/CD s nástroji třetích stran?

  • GitLab CI/CD umožňuje integraci s celou řadou externích nástrojů, jako jsou systémy pro správu chyb a nástroje pro statickou analýzu kódu.

8. Jak zrušit registraci GitLab Runneru?
sudo gitlab-runner unregister

9. Jak přidat nové tagy k GitLab Runneru?
sudo gitlab-runner register \
--non-interactive \
--url "https://gitlab.example.com" \
--registration-token "[REGISTRATION_TOKEN]" \
--executor "docker" \
--description "Ubuntu Runner" \
--tag-list "ubuntu,docker,<novy_tag1>,<novy_tag2>"

10. Jak aktualizovat image kontejneru GitLab Runneru?
sudo gitlab-runner update