GitLab konfiguracja CI/CD przy użyciu .gitlab-ci.yml

GitLab pozwala na zdefiniowanie potoku CI/CD dla danego projektu za pomocą pliku konfiguracyjnego .gitlab-ci.yml. W niniejszym wpisie przedstawiona jest jedynie podstawowa konfiguracja.

Plik .gitlab-ci.yml

Plik .gitlab-ci.yml musi posiadać dokładnie taką nazwę oraz być umieszczony w katalogu głównym projektu. Z racji rozszerzenia pliku yml obowiązują wcięcia dwu-odstępowe (dwie spacje).

Definicja etapów (stages)

Za pomocą sekcji stages możliwe jest zdefiniowanie kolejności wykonania tzw. zadań (job). Egzekucja zadań jest wykonywana w tej samej kolejności co definicja etapów (do każdego etapu można przypisać wiele zadań co spowoduje równoległe wykonanie zadań):

stages:
  - build
  - test
  - deploy
  - validate

Zadanie (job)

Zadanie definiują pracę do wykonania. Zadanie definiujemy na poziomie zerowym (bez żadnego wcięcia) podając jego nazwę i kończąc dwukropkiem:

Przypisanie zadania do etapu

Aby przypisać zadanie do zdefiniowanego etapu, należy użyć opcji stage (jeśli nie zdefiniujemy żadnego etapu to domyślnie zadanie będzie przypisane do etapu o nazwie test):

Obraz Dockerowy

Każde zadanie wykonuje się w ramach jakiegoś obrazu Dockerowego (jeśli nie zostanie on jawnie podany, to zostanie zastosowany domyślny obraz dla GitLab runnera):

Skrypt (script)

Sekcja script pozwala na zdefiniowanie tego co ma wykonać dane zadanie (dostępne są wszystkie komendy, które obsłuży kontener powstały z obrazu Dockerowego):

build app:
  stage: build
  image: maven
  script:
    - git clone somerepository_url
    - mvn package

Przykładowa konfiguracja (w całości)

Konfiguracja jest celowo uproszczona 🙂

stages:
  - build
  - test

build app:
  stage: build
  image: maven
  script:
    - git clone somerepository_url
    - mvn -DskipTest package

test app:
  stage: test
  image: maven
  script:
    - git clone somerepository_url
    - mvn test

Pozostaw komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *