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