İşlem hattınızı özelleştirme

Azure Pipelines | Azure DevOps Server 2020 | Azure DevOps Server 2019

Bu, işlem hattınızı özelleştirmenin yaygın yolları hakkında adım adım bir kılavuzdur.

Önkoşul

Çalışma işlem hattı oluşturmak için ilk işlem hattınızı oluşturma bölümündeki yönergeleri izleyin.

Dosyayı anlayın azure-pipelines.yml

İşlem hattı, deponuzdaki bir YAML dosyası kullanılarak tanımlanır. Genellikle, bu dosya olarak adlandırılır azure-pipelines.yml ve deponuzın kökünde bulunur.

  • Azure Pipelines ardışık düzen sayfasına gidin ve oluşturduğunuz işlem hattını seçin.

  • İşlem hattının YAML düzenleyicisini açmak için işlem hattının bağlam menüsünde Düzenle ' yi seçin. YAML dosyasının içeriğini inceleyin.

      trigger:
      - main
    
      pool:
        vmImage: 'Ubuntu-16.04'
    
      steps:
      - task: Maven@3
        inputs:
          mavenPomFile: 'pom.xml'
          mavenOptions: '-Xmx3072m'
          javaHomeOption: 'JDKVersion'
          jdkVersionOption: '1.8'
          jdkArchitectureOption: 'x64'
          publishJUnitResults: false
          testResultsFiles: '**/surefire-reports/TEST-*.xml'
          goals: 'package'
    

    Not

    YAML dosyanızın içeriği, ile başlattığınız örnek depoya veya Azure Pipelines yapılan yükseltmelere bağlı olarak farklı olabilir.

Bu işlem hattı, takımınız deponuzdaki Ana dala bir değişiklik ilettiğinde çalışır. Microsoft tarafından barındırılan bir Linux makinesinde çalışır. Ardışık düzen işleminin, Maven görevini çalıştırmak için tek bir adımı vardır.

Derleme için platformu değiştirme

Projenizi, çeşitli geliştirme dilleri için SDK 'Ları ve araçları zaten içeren Microsoft tarafından barındırılan aracılarda oluşturabilirsiniz. Ya da Şirket içinde barındırılan aracıları , ihtiyacınız olan belirli araçlarla birlikte kullanabilirsiniz.

  • Yapıda işlem hattı eylemini Düzenle ' yi seçerek veya işlem hattının ana sayfasından Düzenle ' yi seçerek işlem hattınızın düzenleyicisine gidin.

  • Şu anda işlem hattı bir Linux Aracısı üzerinde çalışır:

    pool:
      vmImage: "ubuntu-16.04"
    
  • Windows veya Mac gibi farklı bir platform seçmek için, değeri değiştirin vmImage :

    pool:
      vmImage: "vs2017-win2016"
    
    pool:
      vmImage: "macos-latest"
    
  • Kaydet ' i seçin ve ardından işlem hattınızı farklı bir platformda çalıştırmayı görmek için değişiklikleri onaylayın.

Adım ekleme

İşlem hattınıza adımlar olarak ek betikler veya görevler ekebilirsiniz. Görev, önceden paketlenmiş bir betiktir. Uygulamanızı oluşturma, test etme, yayımlama veya dağıtma görevlerini kullanabilirsiniz. Java için, kullanılan Maven görevi test ve yayımlama sonuçlarını ele almaktadır, ancak kod kapsamı sonuçlarını yayımlamak için de bir görev kullanabilirsiniz.

  • İşlem hattınız için YAML düzenleyicisini açın.

  • YAML dosyanızı sonuna aşağıdaki kod parçacığını ekleyin.

    - task: PublishCodeCoverageResults@1
      inputs:
        codeCoverageTool: "JaCoCo"
        summaryFileLocation: "$(System.DefaultWorkingDirectory)/**/site/jacoco/jacoco.xml"
        reportDirectory: "$(System.DefaultWorkingDirectory)/**/site/jacoco"
        failIfCoverageEmpty: true
    
  • Kaydet'i seçin ve değişiklikleri onaylayın.

  • Derlemenizi seçerek ve Test ve Kapsam sekmeleri'ne gidip test ve kod kapsamı sonuçlarınızı görüntüebilirsiniz.

Birden çok platformda derleme

Projenizi birden çok platformda oluşturabilir ve test etmek için kullanabilirsiniz. Bunu yapmak için ve ile bir yolu strategy matrix var. Verileri bir işlem hattının çeşitli bölümlerine rahatça koymak için değişkenleri kullanabilirsiniz. Bu örnekte bir değişken kullanarak kullanmak istediğiniz görüntünün adını geçebilirsiniz.

  • Dosyanıza azure-pipelines.yml şu içeriği değiştirin:

    pool:
      vmImage: "ubuntu-16.04"
    

    aşağıdaki içeriğe sahip:

    strategy:
      matrix:
        linux:
          imageName: "ubuntu-16.04"
        mac:
          imageName: "macos-10.14"
        windows:
          imageName: "vs2017-win2016"
      maxParallel: 3
    
    pool:
      vmImage: $(imageName)
    
  • Kaydet'i seçin ve ardından değişiklikleri onaylayın ve derlemenizin üç farklı platformda en fazla üç işi çalıştırarak çalışmasına bakın.

Her aracı aynı anda yalnızca bir iş çalıştırabilirsiniz. Birden çok işi paralel olarak çalıştırmak için birden çok aracı yapılandırmanız gerekir. Ayrıca yeterli paralel işlere de ihtiyacınız vardır.

Birden çok sürüm kullanarak oluşturma

Bu dilin farklı sürümlerini kullanarak bir proje oluşturmak için, matrix sürümlerinden birini ve bir değişkeni kullanabilirsiniz. Bu adımda, tek bir platformda Java 'nın iki farklı sürümüyle Java projesi oluşturabilir veya farklı platformlarda farklı Java sürümlerini çalıştırabilirsiniz.

  • Tek bir platformda ve birden çok sürümde derlemek istiyorsanız, azure-pipelines.yml Maven görevinin ve Vmımage 'dan önce dosyanıza aşağıdaki matrisi ekleyin.

    strategy:
      matrix:
        jdk10:
          jdk_version: "1.10"
        jdk11:
          jdk_version: "1.11"
      maxParallel: 2
    
  • Ardından, Maven görevinizdeki bu satırı değiştirin:

    jdkVersionOption: "1.11"
    

    Bu satırla:

    jdkVersionOption: $(jdk_version)
    
  • $(imageName)Değişkeni, seçtiğiniz platforma geri değiştirdiğinizden emin olun.

  • Birden çok platformda ve sürümde derlemek istiyorsanız, azure-pipelines.yml Aşağıdaki kod parçacığına sahip yayımlama görevinden önce dosyanızdaki içeriğin tamamını değiştirin:

    trigger:
    - main
    
    strategy:
      matrix:
        jdk10_linux:
          imageName: "ubuntu-16.04"
          jdk_version: "1.10"
        jdk11_windows:
          imageName: "vs2017-win2016"
          jdk_version: "1.11"
      maxParallel: 2
    
    pool:
      vmImage: $(imageName)
    
    steps:
    - task: Maven@3
      inputs:
        mavenPomFile: "pom.xml"
        mavenOptions: "-Xmx3072m"
        javaHomeOption: "JDKVersion"
        jdkVersionOption: $(jdk_version)
        jdkArchitectureOption: "x64"
        publishJUnitResults: true
        testResultsFiles: "**/TEST-*.xml"
        goals: "package"
    
  • Kaydet ' i seçin ve ardından derlemenizi iki farklı platformda ve SDK 'larda çalıştırmayı görmek için değişiklikleri onaylayın.

CI tetikleyicilerini özelleştirme

İşlem hattını çalıştırmak istediğinizde trigger: olayları belirtmek için kullanabilirsiniz. YAML işlem hatları varsayılan olarak varsayılan dalınızda (genellikle Main) bir CI tetikleyicisi ile yapılandırılır. Tetikleyicileri belirli dallar veya çekme isteği doğrulaması için ayarlayabilirsiniz. Bir çekme isteği doğrulama tetikleyicisi için, trigger: pr: aşağıdaki iki örnekte gösterildiği gibi adımı yalnızca ile değiştirin.

  • Tetikleyicileri ayarlamak isterseniz, dosyanızın başlangıcında aşağıdaki kod parçacıklarında birini ekleyin azure-pipelines.yml .

    trigger:
      - main
      - releases/*
    
    pr:
      - main
      - releases/*
    

    Dalın tam adını (örneğin, main ) veya ön ek eşleştirme joker karakterini (örneğin, releases/* ) belirtebilirsiniz.

Ayarları özelleştirme

YAML dosyanızda yönetmek istemediğiniz işlem hattı ayarları vardır. Bu ayarları görüntülemek ve değiştirmek için şu adımları izleyin:

  1. Web tarayıcınızdan, Azure DevOps 'da kuruluşunuzun projesini açın ve gezinti kenar çubuğundan işlem hatları/işlem hatları ' nı seçin.
  2. İşlem hattı listesinden ayarlarını yapılandırmak istediğiniz işlem hattını seçin.
  3. Diğer eylemler'i ve Ayarlar'ı seçin.

Yeni çalıştırma isteklerinin işlemesi

Bazen işlem hattınız üzerinde yeni çalıştırmaların başlamasını engellemek istemeniz gerekir.

  • Varsayılan olarak, yeni çalıştırma isteklerinin işlemesi Etkin'tir. Bu ayar, el ile çalıştırmalar da dahil olmak üzere tüm tetikleyici türlerinin standart işlemeye olanak sağlar.
  • Duraklatılmış işlem hatları çalıştırma isteklerinin işlenmesine olanak sağlar, ancak bu istekler gerçekten başlamadan kuyruğa alınır. Yeni istek işleme etkinleştirildiğinde, kuyrukta ilk istekle başlayan işleme sürdürmelerini çalıştırın.
  • Devre dışı bırakılmış işlem hatları, kullanıcıların yeni çalıştırmalar başlatmasını önler. Bu ayar uygulanırken tüm tetikleyiciler de devre dışı bırakılır.

Diğer ayarlar

  • YAML dosya yolu. İşlem hattınızı farklı bir YAML dosyası kullanmak üzere yönlendirerek bu dosyanın yolunu belirtebilirsiniz. YAML dosyanızı taşımanız/yeniden adlandırmanız gerekirse bu ayar da yararlı olabilir.
  • Bu çalıştırmaya dahil edilen iş öğelerini otomatik olarak bağlama. Belirli bir işlem hattı çalıştırması ile ilişkili değişikliklerle ilişkili iş öğeleri olabilir. Bu iş öğelerini çalıştırmaya eklemek için bu seçeneği belirleyin. Bu seçenek seçildiğinde belirli bir dal belirtmeniz gerekir. İş öğeleri yalnızca bu dalnın çalıştırmaları ile ilişkilendirilecek.
  • Çalıştırmalar başarısız olduğunda bildirim almak için bkz. Bir ekip için bildirimleri yönetme

İşlem hattınızı özelleştirmenin temellerini öğrendinuz. Bundan sonra, işlem hattını, kullanmakta olduğu dil için özelleştirme hakkında daha fazla bilgi öğrenmenizi öneririz:

Ya da CI işlem hattınızı bir CI/CD işlem hattına büyütmek için, uygulamanızı bir ortamadağıtmaya yönelik adımları içeren bir dağıtım işi ekleyin.

Bu kılavuzdaki konular hakkında daha fazla bilgi için bkz. işler, Görevler, görevlerin kataloğu, değişkenler, Tetikleyicilerveya sorun giderme.

YAML işlem hatlarında yapabileceğiniz diğer şeyleri öğrenmek için bkz. YAML şema başvurusu.