GitLab CI/CD, sürekli metodolojiler aracılığıyla yazılım geliştirme için GitLab'e entegre edilmiş bir araçtır:
.gitlab-ci.yml
dosyası: CI/CD pipeline'ını tanımlarstages:
- build
- test
- deploy
build_job:
stage: build
script:
- echo "Uygulama derleniyor"
test_job:
stage: test
script:
- echo "Testler çalıştırılıyor"
deploy_job:
stage: deploy
script:
- echo "Uygulama dağıtılıyor"
is_adi:
stage: aşama_adı
image: docker_imaji
script:
- komut1
- komut2
only:
- dal_adı
tags:
- runner_etiketi
# Debian/Ubuntu için
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh | sudo bash
sudo apt-get install gitlab-runner
# CentOS/RHEL için
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh | sudo bash
sudo yum install gitlab-runner
sudo gitlab-runner register
sudo gitlab-runner list
sudo gitlab-runner start
sudo gitlab-runner stop
stages:
- build
- test
- deploy
build_job:
stage: build
script:
- echo "Uygulama derleniyor"
test_job:
stage: test
script:
- echo "Testler çalıştırılıyor"
deploy_job:
stage: deploy
script:
- echo "Uygulama dağıtılıyor"
deploy_job:
stage: deploy
script:
- echo "Uygulama dağıtılıyor"
only:
- master
when: manual
CI_COMMIT_SHA
: Projenin derlendiği commit'in revizyon numarasıCI_COMMIT_SHORT_SHA
: CI_COMMIT_SHA
'nın ilk sekiz karakteriCI_COMMIT_REF_NAME
: Projenin derlendiği dal veya etiket adıCI_JOB_ID
: Mevcut işin benzersiz kimliğivariables:
BENIM_DEGISKENIM: "benim-degerim"
is_adi:
script:
- echo $BENIM_DEGISKENIM
GitLab arayüzünde ayarlanır: Ayarlar > CI/CD > Değişkenler
is_adi:
script:
- make build
artifacts:
paths:
- build/
expire_in: 1 week
Projenizin CI/CD > İşler > Bir iş seçin > Artifact'ları indir
cache:
paths:
- node_modules/
is_adi:
script:
- npm install
- npm run build
is_adi:
cache:
key: ${CI_COMMIT_REF_SLUG}
paths:
- node_modules/
script:
- npm install
- npm run build
is_adi:
image: python:3.9
script:
- python --version
imaj_olustur:
image: docker:latest
services:
- docker:dind
script:
- docker build -t benim-imajim:$CI_COMMIT_SHA .
- docker push benim-imajim:$CI_COMMIT_SHA
k8s_dagitim:
image: bitnami/kubectl:latest
script:
- kubectl config set-cluster mycluster --server="$KUBE_URL" --insecure-skip-tls-verify=true
- kubectl config set-credentials admin --token="$KUBE_TOKEN"
- kubectl config set-context default --cluster=mycluster --user=admin
- kubectl config use-context default
- kubectl apply -f k8s/deployment.yaml
include:
- template: Auto-DevOps.gitlab-ci.yml
benim-sablonum.yml
).gitlab-ci.yml
dosyanıza ekleyin:include:
- local: benim-sablonum.yml
Auto DevOps'u geçersiz kılmak veya genişletmek için bir .gitlab-ci.yml
dosyası oluşturun:
include:
- template: Auto-DevOps.gitlab-ci.yml
stages:
- build
- test
- deploy
# Özel işlerinizi buraya ekleyin
include:
- template: Security/SAST.gitlab-ci.yml
include:
- template: Security/Container-Scanning.gitlab-ci.yml
include:
- template: Security/Dependency-Scanning.gitlab-ci.yml
.gitlab-ci.yml
dosyanızı basit ve okunabilir tutunProjenizin CI/CD > Pipeline'lar bölümüne gidin
Projenizin CI/CD > İşler > Bir iş seçin bölümüne gidin
is_adi:
variables:
CI_DEBUG_TRACE: "true"
gitlab-runner
kullanın:gitlab-runner exec docker is_adi
2024 © Tüm hakları saklıdır - buraxta.com