Gitlab CI/CD - recepta na farmę dockerów

W dzisiejszym artykule pokażę Ci zarys, jak stworzyć swoje własne pierwsze CI/CD które pozwoli automatycznie tworzyć maszyny na serwerze docelowym i budować na nim całe środowiska do testów.


Konfiguracja

1. Na początku wymagane jest skonfigurowanie gitlab-runner-a na naszym docelowym serwerze (odpowiadającym za powoływanie maszyn do życia), którego pozainstalowaniu uruchamiamy po przez:

gitlab-runner start

Na podstawie informacji podanych w ustawieniach naszego repozytorium (z gui) np https://gitlab.pl/moje-repozytorium/-/settings/ci_cd rejestrujemy naszą maszynę podając odpowiednie dane do:

gitlab-runner register

2. Następnie w naszym repozytorium dockerowym, w zakładce CI/CD->Editor tworzymy naszą konfigurację która pozwoli nam wdrażać nowe środowiska na serwerze zdalnym.

review-app:
image: docker:dind
stage: deploy
variables:
GIT_BRANCH: develop
GIT_BRANCH_THEME: develop
GIT_NAME: user
GIT_PASS: sample_pass
COMPOSE_CONVERT_WINDOWS_PATHS: 1
APACHE_PORT: 81
MYSQL_PORT: 82
VOLUME_BASE_NAME: ${CI_JOB_ID}
NETWORK_BASE_NAME: ${CI_JOB_ID}
script:
- docker ps
- docker stop $(docker ps -q --filter="name=${APACHE_PORT}") || true
- docker-compose -p "myContainer-${CI_JOB_ID}-${APACHE_PORT}" up --build
timeout: 2d
rules:
- when: manual

3. Po czym klikamy w zakładkę CI/CD->Pipelines, w której możemy nadpisać nasze zmienne np.

APACHE_PORT 8081
GIT_BRANCH_THEME master

4. Na sam koniec uruchamiamy przyciskiem "run". 

5. W zakładce CI/CD->Jobs, będziemy mogli sprawdzić logi z wykonywania naszego pipeline.

Przyznacie, że początki są dość proste :)

Kamil Mirończuk

I kiedy czegoś gorąco pragniesz, to cały wszechświat sprzyja potajemnie twojemu pragnieniu
~Paulo Coelho

Komentarze

Zostaw komentarz

Twój adres mailowy NIE zostanie opublikowany. W razie otrzymania zapytania, otrzymasz na niego odpowiedź.
Wymagane pola są oznaczone jako *