Sobes.tech
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.