Java uygulamaları oluşturun

Azure Pipelines | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018 | TFS 2017

Not

Bu kılavuz Azure Pipelines bulunan YAML tabanlı işlem hatlarını kullanır. TFS için aşağıdaki YAML 'de kullanılanlarla ilişkili olan görevleri kullanın.

Bu kılavuzda, Java projelerinin otomatik olarak nasıl oluşturulacağı açıklanmaktadır. (Bir Android projesi üzerinde çalışıyorsanız bkz. Android uygulamaları oluşturma, test etme ve dağıtma.)

İlk işlem hattınızı oluşturma

Azure Pipelines yeni misiniz? Bu durumda, diğer bölümlere geçmeden önce bu bölümü oluşturmak için kullanmayı öneririz.

Kodu alma

GitHub 'da bu depoyu çatal:

Bu depoyu Azure DevOps Server 2019 ' deki git deponuza aktarın:

Bu depoyu TFS 'deki git deponuza aktarın:

https://github.com/MicrosoftDocs/pipelines-java

Azure Pipelines oturum açın

Azure Pipelinesoturum açın. Oturum açtıktan sonra, tarayıcınız ' a gider https://dev.azure.com/my-organization-name ve Azure DevOps panonuzu görüntüler.

Seçtiğiniz kuruluş içinde bir Proje oluşturun. Kuruluşunuzda bir projeniz yoksa, başlamak için bir proje oluşturun ekranına bakabilirsiniz. Aksi takdirde, panonun sağ üst köşesindeki proje oluştur düğmesini seçin.

İşlem hattını oluşturma

  1. Azure DevOps kuruluşunuzda oturum açın ve projenize gidin.

  2. İşlem hatları' na gidin ve ardından Yeni işlem hattı' nı seçin.

  3. İlk olarak kaynak kodunuzun konumu olarak GitHub ' i seçerek sihirbazın adımlarını gözden geçir.

  4. Oturum açmak için GitHub 'a yönlendirilirsiniz. Bu durumda, GitHub kimlik bilgilerinizi girin.

  5. Depo listesi göründüğünde, deponuzu seçin.

  6. Azure Pipelines uygulamasını yüklemek için GitHub 'a yönlendirilirsiniz. Varsa, & yüklemeyi Onayla' yı seçin.

Yapılandır sekmesi göründüğünde Maven' ı seçin.

  1. Yeni ardışık düzen belirdiğinde, ne yaptığını görmek için YAML 'ye göz atın. Hazırsanız Kaydet ve Çalıştır' ı seçin.

    Yeni bir YAML ardışık düzeninde Kaydet ve Çalıştır düğmesi

  2. Deponuza yeni bir Azure-Pipelines. yıml dosyası uygulamanız istenir. İletiden memnun olduktan sonra Kaydet ' i seçin ve yeniden çalıştırın .

    İşlem hattınızı eylem bölümünde izlemek isterseniz, yapı işini seçin.

    Kodunuz Maven şablonuyla iyi bir eşleşme olduğundan, sizin için otomatik olarak oluşturduğumuz bir işlem hattı oluşturdunuz ve çalıştırdınız.

    Artık, deponuzda özelleştirmeniz için hazır bir YAML işlem hattı ( azure-pipelines.yml ) çalışıyor!

  3. İşlem hattınızda değişiklik yapmaya hazırsanız, ardışık Düzen sayfasında bunu seçin ve ardından dosyayı düzenleyin azure-pipelines.yml .

  4. İşlem hattınızı özelleştirmenin daha yaygın yöntemlerinden bazılarını öğrenmek için aşağıdaki bölümlere bakın.

  1. İşlem hattı oluşturun (nasıl olduğunu bilmiyorsanız, bkz. ilk işlem hattınızı oluşturmave şablon Için Maven'i seçme. Bu şablon, kodu örnek depoda oluşturmak için gereken görevleri otomatik olarak ekler.

  2. İşlem hattını kaydedin ve bir derlemeyi kuyruğa alın. Derleme #nnnnnnnn. n sıraya alınmış ileti görüntülendiğinde, işlem hattınızı eylemde görmek için sayı bağlantısını seçin.

    Artık özelleştirmeniz için hazır olan çalışır durumda bir işlem hattı var!

  3. İşlem hattınızda değişiklik yapmaya hazırsanız, düzenleyin .

  4. İşlem hattınızı özelleştirmenin daha yaygın yöntemlerinden bazılarını öğrenmek için aşağıdaki bölümlere bakın.

Yapı ortamı

Azure Pipelines kullanarak, kendi altyapınızı ayarlamanıza gerek kalmadan Java uygulamaları oluşturabilirsiniz. Windows, Linux veya MacOS görüntülerinde oluşturabilirsiniz. Azure Pipelines 'daki Microsoft tarafından barındırılan aracılar, modern JDKs ve Java için önceden yüklenmiş diğer araçlara sahiptir. Hangi Java sürümlerinin yüklendiğini öğrenmek için bkz. Microsoft tarafından barındırılan aracılar.

azure-pipelines.ymlUygun görüntüyü seçmek için dosyanızdaki aşağıdaki kod parçacığını güncelleştirin.

pool:
  vmImage: 'ubuntu-16.04' # other options: 'macOS-10.14', 'vs2017-win2016'

Görüntülerin tam listesi için bkz. Microsoft tarafından barındırılan aracılar .

Microsoft tarafından barındırılan aracıların kullanılmasına alternatif olarak, Java ile Şirket içinde barındırılan aracılar da ayarlayabilirsiniz. Şirket içinde barındırılan aracıları, büyük bir deponuz varsa veya artımlı derlemeler çalıştırırsanız ek zaman kazanmak için de kullanabilirsiniz.

Yapılarınız kendi kendine barındırılan bir aracıdaçalışır. Aracıda Java 'nın yüklü olduğundan emin olun.

Kodunuzu oluşturma

Maven

Maven ile derlemek için, dosyanıza aşağıdaki kod parçacığını ekleyin azure-pipelines.yml . Dosya yolu gibi değerleri, pom.xml Proje yapılandırmanızla eşleşecek şekilde değiştirin. Bu seçenekler hakkında daha fazla bilgi için bkz. Maven görevi.

steps:
- task: Maven@3
  inputs:
    mavenPomFile: 'pom.xml'
    mavenOptions: '-Xmx3072m'
    javaHomeOption: 'JDKVersion'
    jdkVersionOption: '1.11'
    jdkArchitectureOption: 'x64'
    publishJUnitResults: false
    testResultsFiles: '**/TEST-*.xml'
    goals: 'package'

Yapı yolunu özelleştirme

mavenPomFileDosyanızın deponun kökünde olmaması durumunda değeri ayarlayın pom.xml . Dosya yolu değeri, deponun köküne göreli olmalıdır, örneğin IdentityService/pom.xml veya $(system.defaultWorkingDirectory)/IdentityService/pom.xml .

Maven hedeflerini özelleştirme

, Gibi Maven 'nin yürütülmesi için hedefler değerini boşlukla ayrılmış bir hedefler listesine ayarlayın clean package .

Yaygın Java aşamaları ve hedefleri hakkında daha fazla bilgi için bkz. Apache 'Nin Maven belgeleri.

Gradle

Gradle ile derlemek için, dosyanıza aşağıdaki kod parçacığını ekleyin azure-pipelines.yml . Bu seçenekler hakkında daha fazla bilgi için Gradle görevine bakın.

steps:
- task: Gradle@2
  inputs:
    workingDirectory: ''
    gradleWrapperFile: 'gradlew'
    gradleOptions: '-Xmx3072m'
    javaHomeOption: 'JDKVersion'
    jdkVersionOption: '1.11'
    jdkArchitectureOption: 'x64'
    publishJUnitResults: false
    testResultsFiles: '**/TEST-*.xml'
    tasks: 'build'

Gradle sürümünü seçin

Bir aracı makinede yüklü olan Gradle sürümü, depo gradle/wrapper/gradle-wrapper.properties dosyasında, distributionUrl derleme sırasında indirmek ve kullanmak için farklı bir Gradle sürümü belirten bir özelliği yoksa kullanılacaktır.

Yapı yolunu ayarla

workingDirectoryDosyanızın deponun kökünde olmaması durumunda değeri ayarlayın gradlew . Dizin değeri, deponun köküne göreli olmalıdır, örneğin IdentityService veya $(system.defaultWorkingDirectory)/IdentityService .

gradleWrapperFileDosyanızın deponun kökünde olmaması durumunda değeri ayarlayın gradlew . Dosya yolu değeri, deponun köküne göreli olmalıdır, örneğin IdentityService/gradlew veya $(system.defaultWorkingDirectory)/IdentityService/gradlew .

Gradle görevlerini ayarla

Veya gibi Gradle yürütmesi gereken görevler için Görevler değerini ayarlayın build check .

Gradle için genel Java eklentisi görevleri hakkında ayrıntılar için bkz. Gradle 's documentation.

ZI

Ant ile derlemek için, dosyanıza aşağıdaki kod parçacığını ekleyin azure-pipelines.yml . Dosya yolu gibi değerleri, build.xml Proje yapılandırmanızla eşleşecek şekilde değiştirin. Bu seçenekler hakkında daha fazla bilgi için ant görevine bakın.

steps:
- task: Ant@1
  inputs:
    workingDirectory: ''
    buildFile: 'build.xml'
    javaHomeOption: 'JDKVersion'
    jdkVersionOption: '1.11'
    jdkArchitectureOption: 'x64'
    publishJUnitResults: false
    testResultsFiles: '**/TEST-*.xml'

Komut Dosyası

Komut satırı veya komut dosyası ile derlemek için, dosyanıza aşağıdaki kod parçacıklarında birini ekleyin azure-pipelines.yml .

Satır içi betik

Bu script: adım, Linux üzerinde Bash ve Windows üzerinde macOS ve komut istemi kullanarak bir satır içi betik çalıştırır. Ayrıntılar için Bash veya komut satırı görevine bakın.

steps:
- script: |
    echo Starting the build
    mvn package
  displayName: 'Build with Maven'

Betik dosyası

Bu kod parçacığı, deponuzdaki bir komut dosyasını çalıştırır. Ayrıntılar için bkz. kabuk betiği, toplu Iş betiğiveya PowerShell görevi.

steps:
- task: ShellScript@2
  inputs:
    scriptPath: 'build.sh'

Sonraki Adımlar

Uygulamanızı derleyip test ettikten sonra, derleme çıkışını Azure Pipelines veya TFS 'ye yükleyebilir, bir Maven paketi oluşturabilir ve yayımlayabilir ya da derleme çıkışını bir Web uygulamasına dağıtılacak bir. war/jar dosyası olarak paketleyebilirsiniz.

Ardından, seçtiğiniz dağıtım hedefi için bir CI/CD işlem hattı oluşturma hakkında daha fazla bilgi edinmenize önerilir: