Middle
Hoe bepaal je de startparameters van de pipeline bij het bewerken van bepaalde resources in Git?
sobes.tech AI
Antwoord van AI
Gebruik CI/CD-triggers die gekoppeld zijn aan wijzigingen in specifieke bestanden of directories.
Bijvoorbeeld, in GitLab CI:
# .gitlab-ci.yml
stages:
- build
- test
build_job:
stage: build
script:
- echo "Applicatie bouwen..."
# Alleen uitvoeren bij wijzigingen in de app/ directory
only:
changes:
- app/**/*
test_job:
stage: test
script:
- echo "Tests uitvoeren..."
# Alleen uitvoeren bij wijzigingen in de test/ directory
only:
changes:
- test/**/*
Maven in Jenkinsfile met behulp van de triggers-directive:
// Jenkinsfile (Declaratief Pipeline)
pipeline {
agent any
stages {
stage('Build') {
steps {
echo 'Bouwen...'
}
}
stage('Test') {
steps {
echo 'Testen...'
}
}
}
// Trigger bij wijzigingen in een specifieke directory (vereist SCM API en Job DSL plugin)
// Voorbeeld voor Git met Poll SCM trigger
triggers {
pollSCM('H * * * *') // Elke minuut controleren
}
options {
skipChanges() // Trigger overslaan als er geen wijzigingen zijn
}
}
Bij gebruik van GitHub Actions:
# .github/workflows/ci.yml
name: CI Pipeline
on:
push:
# Start bij wijzigingen in specifieke paden
paths:
- 'src/**'
- 'tests/**'
- '!docs/**' # Wijzigingen in de docs/ directory negeren
jobs:
build-and-test:
runs-on: ubuntu-latest
steps:
- name: Code uitchecken
uses: actions/checkout@v3
- name: Builden
run: echo "Bouwen..."
- name: Testen
run: echo "Testen..."
Dit stelt je in staat om alleen de benodigde delen van de pipeline uit te voeren of de hele pipeline, waardoor compute resources en tijd worden bespaard. De exacte syntax en mogelijkheden hangen af van het specifieke CI/CD-systeem.