Middle
Git-də müəyyən resursları redaktə edərkən pipeline-ın başlatma parametrlərini necə müəyyən etmək olar?
sobes.tech Süni İntellekt
AI-dan cavab
Xüsusi fayllar və ya qovluqlardakı dəyişikliklərə bağlı CI/CD tetikleyicilərindən istifadə edin.
Məsələn, GitLab CI-də:
# .gitlab-ci.yml
stages:
- build
- test
build_job:
stage: build
script:
- echo "Tətbiqi qururam..."
# Yalnız app/ qovluğunda dəyişiklik olarsa işləsin
only:
changes:
- app/**/*
test_job:
stage: test
script:
- echo "Testləri icra edirəm..."
# Yalnız test/ qovluğunda dəyişiklik olarsa işləsin
only:
changes:
- test/**/*
Jenkinsfile-də Maven və triggers istifadə edilərək:
// Jenkinsfile (Deklarativ Pipeline)
pipeline {
agent any
stages {
stage('Build') {
steps {
echo 'Qurulur...'
}
}
stage('Test') {
steps {
echo 'Test edilir...'
}
}
}
// Müəyyən qovluqda dəyişiklik olduqda işə salın (SCM API və Job DSL plaginini tələb edir)
// Git üçün nümunə, Poll SCM trigger ilə
triggers {
pollSCM('H * * * *') // Hər dəqiqə yoxla
}
options {
skipChanges() // Dəyişiklik yoxdursa trigger-i keç
}
}
GitHub Actions istifadə edərək:
# .github/workflows/ci.yml
name: CI Boru Xətti
on:
push:
# Müəyyən yollar dəyişdikdə işə salın
paths:
- 'src/**'
- 'tests/**'
- '!docs/**' # docs/ qovluğundakı dəyişiklikləri ignore et
jobs:
build-and-test:
runs-on: ubuntu-latest
steps:
- name: Kodun yoxlanması
uses: actions/checkout@v3
- name: Yığma
run: echo "Yığılır..."
- name: Test
run: echo "Test edilir..."
Bu, yalnız lazım olan pipeline hissələrini və ya bütün pipeline-ı işlətməyə imkan verir, bu da hesablama resurslarını və vaxtı qənaət edir. Dəqiq sintaksis və imkanlar istifadə olunan CI/CD sistemindən asılıdır.