Generator GitLab CI/CD
Generuj plik .gitlab-ci.yml dla Node.js, Python, PHP, Docker i innych stacków. Stages, jobs, cache, artefakty i deploy konfigurowane wizualnie. Kopiuj gotowy plik. Bezpłatnie.
-
1Wprowadź dane
Wpisz treść, wklej tekst lub załaduj plik z dysku. -
2Kliknij przycisk
Narzędzie natychmiast przetworzy Twoje dane w przeglądarce. -
3Pobierz wynik
Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
return "Wynik gotowy w 0.1s";
}
# Auto-generated by Toolsti GitLab CI Generator
# Commit this file as .gitlab-ci.yml at the repository root
image: node:20-alpine
stages:
- lint
- test
- build
- deploy
variables:
NODE_ENV: "test"
before_script:
- 'node --version'
- 'npm --version'
.default_job: &default_job
retry: 1
interruptible: true
cache:
key:
files:
- package-lock.json
- npm-shrinkwrap.json
- yarn.lock
- pnpm-lock.yaml
paths:
- .npm/
- node_modules/
lint:
<<: *default_job
stage: lint
script:
- 'npm ci'
- 'npm run lint'
test:
<<: *default_job
stage: test
script:
- 'npm ci'
- 'npm test'
build:
<<: *default_job
stage: build
script:
- 'npm ci'
- 'npm run build'
artifacts:
when: always
expire_in: 7 days
paths:
- dist/
- build/
# Notes:
# - Generate a GitLab pipeline for a Node.js app that installs dependencies, runs tests, builds production assets, and optionally deploys from the main branch.
Oceń to narzędzie:
Powiązane narzędzia
Inne narzędzia, które mogą Ci się przydaćGenerator pliku .gitlab-ci.yml – GitLab CI/CD bez YAML z głowy
Konfiguracja pipeline CI/CD w GitLab wymaga znajomości składni YAML i specyfiki gitlab-ci.yml: stages, jobs, rules, cache, artefaktów, zmiennych i połączenia z GitLab Container Registry lub Kubernetes. Narzędzie generuje kompletny plik na podstawie wybranego stacku technologicznego.
Struktura .gitlab-ci.yml
Stages: kolejność etapów (build → test → deploy). Jobs: zadania w stages (mogą być równoległe). Script: komendy do wykonania. Image: Docker image dla joba. Cache: katalogi między jobami (np. node_modules). Artifacts: pliki przekazywane między stages (np. dist/). Rules/only/except: warunkowe uruchamianie.
Gotowe szablony stacków
Node.js: npm ci + test + build + Dockerfile + push do registry. Python: pip install + pytest + coverage report. PHP: composer install + phpunit + phpstan. Docker: multi-stage build + trivy security scan + push. Java/Maven: mvn test + jar + deploy. Go: go test + go build + binary artifact.
Optymalizacja pipeline
Cache node_modules (key: ${CI_COMMIT_REF_SLUG}): znacznie przyspiesza buildy. Parallel jobs: matrix strategy dla wielu wersji Node/Python. Interruptible: true: nowe push anuluje stary job tej samej gałęzi. Needs (DAG): job startuje gdy poprzednik gotowy, bez czekania na cały stage. Dind (Docker-in-Docker): budowanie obrazów w CI.
Deploy i środowiska
GitLab Environments: automatyczne tworzenie środowisk (review apps dla MR). Kubernetes: helm upgrade lub kubectl apply z kubeconfig ze zmiennych CI. SSH deploy: rsync + SSH key w CI/CD variables. GitLab Pages: artifacts:paths: [public/] + pages job – automatyczne wdrożenie statycznej strony.
Najczęstsze pytania
Czym różni się GitLab CI od GitHub Actions?
GitLab CI: natywny, .gitlab-ci.yml, wbudowany Container Registry, dostępny self-hosted. GitHub Actions: .github/workflows/*.yml, marketplace akcji, darmowe dla publicznych repozytoriów. Składnia różni się ale koncepcje (stages/jobs/matrix) są podobne. GitLab ma wbudowane security scanning (DAST/SAST).
Jak przyspieszyć wolny pipeline CI?
Cache dependencies (node_modules, pip cache, composer). Parallel test splits (pytest-split, jest --shard). Interruptible: true dla gałęzi feature. Docker layer caching (--cache-from). Incremental builds. Pomijaj zbędne stages (rules: changes: [src/**/*]).
Jak bezpiecznie przechowywać sekrety w GitLab CI?
GitLab CI/CD Variables (Settings → CI/CD → Variables): Masked (nie wyświetlają się w logach) + Protected (tylko dla protected branches). Vault integration: HashiCorp Vault jako external secrets backend. Nigdy nie commituj secretów do .gitlab-ci.yml – tylko referencje: $SECRET_NAME.
Co to jest GitLab Runner i jak go uruchomić?
GitLab Runner to agent wykonujący joby. Typy executorów: Shell (host OS), Docker (izolacja), Kubernetes (cloud-native). Instalacja: curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh | sudo bash && sudo apt install gitlab-runner. Rejestracja: gitlab-runner register.
Jak korzystać z GitLab Container Registry?
W .gitlab-ci.yml: image: docker:dind. Login: echo $CI_REGISTRY_PASSWORD | docker login -u $CI_REGISTRY_USER $CI_REGISTRY --password-stdin. Build: docker build -t $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA. Push: docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA.
Powiązane narzędzia: walidator YAML, generator Dockerfile i generator GitHub Actions.