Middle
Kā noteikt pipeline palaišanas parametrus, rediģējot noteiktus resursus Git?
sobes.tech AI
Atbilde no AI
Izmantojot CI/CD trigerus, kas saistīti ar konkrētu failu vai direktoriju izmaiņām.
Piemēram, GitLab CI:
# .gitlab-ci.yml
posmi:
- būvniecība
- tests
būvniecības_darbs:
posms: būvniecība
skripts:
- echo "Būvējam lietojumprogrammu..."
# Palaist tikai, ja ir izmaiņas direktorijā app/
only:
changes:
- app/**/*
testēšanas_darbs:
posms: tests
skripts:
- echo "Veicam testus..."
# Palaist tikai, ja ir izmaiņas direktorijā test/
only:
changes:
- test/**/*
Jenkinsfile ar Maven un triggers direktīvu:
// Jenkinsfile (Deklaratīvais pīpeļains)
pipeline {
agent any
stages {
stage('Būvniecība') {
steps {
echo 'Būvē...'
}
}
stage('Tests') {
steps {
echo 'Testē...'
}
}
}
// Palaist, ja ir izmaiņas konkrētā direktorijā (prasīts SCM API un Job DSL spraudnis)
triggers {
pollSCM('H * * * *') // Katru minūti
}
options {
skipChanges() // Izlaist trigerus, ja nav izmaiņu
}
}
Ar GitHub Actions:
# .github/workflows/ci.yml
nosaukums: CI Pīpeļains
on:
push:
# Palaist, ja ir izmaiņas konkrētās ceļos
paths:
- 'src/**'
- 'tests/**'
- '!docs/**' # Ignorēt izmaiņas direktorijā docs/
darbi:
būvniecība-un-testi:
runs-on: ubuntu-latest
steps:
- name: Kods pārbaude
uses: actions/checkout@v3
- name: Būvēt
run: echo "Būvē..."
- name: Testēt
run: echo "Testē..."
Tas ļauj palaist tikai nepieciešamās pipeline daļas vai visu pipeline pilnībā, taupot skaitļošanas resursus un laiku. Precīza sintakse un iespējas ir atkarīgas no konkrētās CI/CD sistēmas.