Co robi ten kreator
.gitlab-ci.yml leży w korzeniu Twojego repo na GitLabie i opisuje cały pipeline: uporządkowane etapy (install, test, deploy), poszczególne joby z komendami, co buforować, co publikować jako artefakty i kiedy konkretny job ma się uruchomić (tylko main? tylko tagi? tylko gdy plik się zmienił?). To jeden plik, bez osobnego UI, wersjonowany razem z kodem.
Ten kreator pisze ten plik za Ciebie. Wybierz preset (test + deploy, push do rejestru Dockera, GitLab Pages), edytuj etapy i joby w formularzach, a prawa kolumna pokaże dokładny YAML do wrzucenia do `.gitlab-ci.yml`. Walidator sprawdza typowe pułapki: job wymagający innego joba w późniejszym etapie, job odnoszący się do etapu, którego nie ma w `stages:`, zdublowane nazwy jobów, joby bez skryptu.
Wszystko działa w przeglądarce. Nic się nigdzie nie wysyła, nie potrzebujesz konta, żaden pipeline tu nie startuje. Wynikiem jest ten sam tekst, który napisałbyś ręcznie.
Jak używać
- Wybierz preset u góry: Test + deploy, Push do rejestru Dockera, GitLab Pages. Formularz wypełni sensowne wartości.
- Ustaw domyślny obraz (używany przez każdy job, który go nie nadpisuje), uporządkowaną listę etapów i ewentualne zmienne globalne w formacie `KLUCZ=wartość`.
- Dodaj joby w zakładkach. Dla każdego: unikalna nazwa, etap (musi pasować do listy etapów), opcjonalne nadpisanie obrazu, opcjonalne zmienne i needs.
- Wpisz skrypt (jedna komenda w linii). Opcjonalnie dodaj before_script dla wspólnych komend startowych.
- Ustaw artefakty (ścieżki i `expire_in`) dla output buildu. Skonfiguruj cache z kluczem i ścieżkami, żeby przyspieszyć kolejne przebiegi.
- Dodaj reguły z wyrażeniem `if:`, np. `$CI_COMMIT_BRANCH == "main"`. Wybierz `on_success`, `always`, `manual` (wymaga kliknięcia) albo `never`.
- Włącz allow_failure dla jobów, które nie powinny blokować pipelinu, gdy padną (lintery, skanery bezpieczeństwa, które są tylko doradcze).
- Kliknij Kopiuj w panelu podglądu albo Pobierz, żeby zapisać jako `.gitlab-ci.yml`. Potem zacommituj do korzenia repo. Kolejny push odpali pipeline.
Kiedy się przydaje
Siedem konkretnych sytuacji, w których kreator GitLab CI oszczędza realnie czas:
- Pierwszy pipeline w nowym projekcie. Wybierasz „Test + deploy", zmieniasz komendę testów, commitujesz. Gotowe w dwie minuty zamiast przegryzania długich dokumentów GitLaba.
- Dodanie pushu do rejestru Dockera do istniejącego pipelinu. Sekwencja login + tag + push to znany taniec; kreator pisze go za Ciebie, a Ty tylko wpisujesz nazwę obrazu.
- Job deploy uruchamiany tylko na main. Składnia `rules:` z `if:` to nowoczesny sposób (zastępuje stare `only:` / `except:`), a literówki marnują pełny przebieg pipelinu.
- Cache node_modules albo pip między pipelinami. Sekcja cache jest krótka, ale łatwo ją źle sformatować. Kreator domyślnie pisze działający cache z standardowym kluczem `$CI_COMMIT_REF_SLUG`.
- Pipeline z kilkoma etapami i jobami równoległymi w teście. Kilka jobów w etapie `test` jedzie równolegle automatycznie. Kreator robi tę strukturę oczywistą, żebyś przypadkiem nie zserializował.
- Ręczna bramka deployu. Ustawiasz regule deployu `when: manual` i tylko jawne kliknięcie w UI GitLaba uruchamia deploy. Częsty wzorzec dla produkcji.
- Deploy strony GitLab Pages. Specjalny job `pages` musi publikować do `public/` jako artefakt. Preset „Pages deploy" zapisuje tę konwencję dokładnie.