Java uygulamaları oluşturma

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

Not

Bu kılavuzda, verilerde kullanılabilen YAML tabanlı işlem hatları Azure Pipelines. TFS için, aşağıdaki YAML'de kullanılanlara karşılık gelen görevleri kullanın.

Java projelerinizi otomatik olarak derlemek ve test etmek için işlem hattı kullanın. Şunları nasıl yapacağınızı öğrenin:

Uygulamanızı derlemek ve test etmek için Azure App Service,Azure İşlevleriveya Azure Kubernetes Service. Bir Android projesi üzerinde çalışıyorsanız bkz. Android uygulamaları derleme, test ve dağıtma.

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

Yeni mi Azure Pipelines? Öyleyse, diğer bölümlere ilerlemeden önce bu bölümü oluşturmak için denemenizi öneririz.

Kodu alma

Bu repo için şu GitHub:

Bu depo, 2019'da Git Azure DevOps Server aktarın:

Bu depoya TFS'de Git depona aktarın:

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

Azure Pipelines'de oturum açma

Azure Pipelines. Oturum açma sonrasında tarayıcınız açılır ve https://dev.azure.com/my-organization-name panonuza Azure DevOps görüntülenir.

Seçtiğiniz kuruluş içinde bir proje oluşturun. Kuruluşta hiç projeniz yoksa, Çalışmaya başlamanız için proje oluşturma ekranı görürsünüz. Aksi takdirde, Project sağ üst köşesindeki Create Project (Oluştur) düğmesini seçin.

İşlem hattını oluşturma

  1. Azure DevOps oturum açma ve projenize gidin.

  2. yeni işlem Pipelinesyeni işlem hattı'ı seçin.

  3. İlk olarak kaynak kodunuzun konumu olarak GitHub sihirbazın adımlarını izleyin.

  4. Oturum açmanız için GitHub yönlendirilmesine neden olabilir. Öyleyse, kimlik bilgilerinizi GitHub girin.

  5. Depo listesi görüntülendiğinde depoyu seçin.

  6. Azure Pipelines uygulamasını GitHub için Azure Pipelines yönlendirebilirsiniz. Öyleyse, Yükle'yi onayla'ya seçin.

Yapılandır sekmesi görüntülendiğindeMaven'i seçin.

  1. Yeni işlem hattınız görüntülendiğinde YAML'ye göz atarak ne işe yardımcı olduğunu kontrol etmek için bu işlem hattına bakın. Hazır olduğunda Kaydet'i seçin ve çalıştırın.

    Yeni bir YAML işlem hattında kaydet ve çalıştır düğmesi

  2. Yeni bir azure-pipelines.yml dosyasını depoya işlemeniz istenir. İletiden memnun olduktan sonra Kaydet'i seçin ve yeniden çalıştırın.

    İşlem hattınızı nasıl iş olarak izlemek istediğinize bakarak derleme işini seçin.

    Kodunuz Maven şablonuyla iyi bir eşleşme gibi görünüyor olduğundan sizin için otomatik olarak oluşturduğum bir işlem hattı oluşturduk ve bu işlem hattını çalıştırmaya başladınız.

    Artık depoda özelleştirebileceğiniz çalışan bir YAML işlem hattınız ( azure-pipelines.yml ) var!

  3. İşlem hattınız üzerinde değişiklik yapmaya hazırsanız, işlem hattı sayfasından Pipelines sonra Dosyayı düzenle'yi seçin.

  4. İşlem hattınızı özelleştirmenin daha yaygın yollarından bazıları hakkında bilgi edinmek için aşağıdaki bölümlere bakın.

  1. İşlem hattı oluşturma (nasıl olduğunu bilmiyorsanız bkz. İlk işlem hattınızı oluşturma)ve şablon için Maven'i seçin. Bu şablon, kodu oluşturmak için ihtiyacınız olan görevleri örnek depoya otomatik olarak ekler.

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

    Artık özelleştirmeniz için hazır olan çalışan bir işlem hattına sahipsiniz!

  3. İşlem hattınız üzerinde değişiklik yapmaya hazır olduğunda Bunu düzenleyin.

  4. İşlem hattınızı özelleştirmenin daha yaygın yollarından bazıları hakkında bilgi edinmek için aşağıdaki bölümlere bakın.

Derleme ortamı

Kendi altyapınızı Azure Pipelines gerek kalmadan Java uygulamaları derlemek için Azure Pipelines'i kullanabilirsiniz. Windows, Linux veya macOS görüntüleri üzerinde derlemeler. Azure Pipelines'daki Microsoft tarafından barındırılan aracılar, Java için modern JDK'lere ve diğer araçlara önceden yüklenmiştir. Hangi Java sürümlerinin yüklü olduğunu bilmek için bkz. Microsoft tarafından barındırılan aracılar.

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

pool:
  vmImage: 'ubuntu-latest' # other options: 'macOS-latest', 'windows-latest'

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ı kullanmaya alternatif olarak, Java yüklü olarak kendi kendine barındırılan aracılar kurarak. Büyük bir depoya sahipse veya artımlı derlemeler çalıştırıyorsanız daha fazla zaman kazanmak için de kendinden konak aracıları kullanabilirsiniz.

Derlemeleriniz, kendi içinde barındırılan aracıda çalıştırıldı. 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ı azure-pipelines.yml ekleyin. Proje yapılandırmanıza göre dosyanıza giden pom.xml yol gibi değerleri değiştirebilirsiniz. Bu seçenekler hakkında daha fazla bilgi için Maven görevine bakın.

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

Daha Spring Bootmaven görevini de kullanabilirsiniz. Değerinizin mavenPomFile dosyanıza giden yolu yansıta olduğundan emin pom.xml olun. Örneğin, bir örnek Spring Boot kullanıyorsanızyolunuz olur.

Derleme yolunu özelleştirme

Dosyanız mavenPomFilepom.xml deponun kökünde değilse değeri ayarlayın. Dosya yolu değeri, veya gibi deponun köküne göreli IdentityService/pom.xml olması $(system.defaultWorkingDirectory)/IdentityService/pom.xml gerekir.

Maven hedeflerini özelleştirme

Hedef değerini Maven'in yürütülürken boşlukla ayrılmış bir hedef listesine ayarlayın, örneğin: .

Yaygın Java aşamaları ve hedefleri hakkında ayrıntılı bilgi için Apache Maven belgelerine bakın.

Gradle

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

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

Depo dosyanız derleme sırasında indirilen ve kullanılacak farklı bir Gradle sürümünü belirten bir özelliği yoksa, aracı makineye yüklenmiş gradle/wrapper/gradle-wrapper.propertiesdistributionUrl Gradle sürümü kullanılır.

Derleme yolunu ayarlama

Dosyanız workingDirectorygradlew deponun kökünde değilse değeri ayarlayın. Dizin değeri, veya gibi depo kök dizinine göreli IdentityService$(system.defaultWorkingDirectory)/IdentityService olmalıdır.

Dosyanız gradleWrapperFilegradlew deponun kökünde değilse değeri ayarlayın. Dosya yolu değeri, veya gibi deponun köküne göreli IdentityService/gradlew olması $(system.defaultWorkingDirectory)/IdentityService/gradlew gerekir.

Gradle görevlerini ayarlama

Gradle'ın yürütmesi gereken görevler için veya gibi görev değerini check ayarlayın.

Gradle için yaygın Java Eklentisi görevleri hakkında ayrıntılı bilgi için Gradle belgelerine bakın.

Antilleri

Ant ile derlemek için dosyanıza aşağıdaki kod parçacığını azure-pipelines.yml ekleyin. Proje yapılandırmanıza göre dosyanıza giden build.xml yol gibi değerleri değiştirebilirsiniz. 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 betik ile derlemek için dosyanıza aşağıdaki kod parçacıklarının birini azure-pipelines.yml ekleyin.

Satır içi betik

Bu adım, Linux ve macOS üzerinde Bash ve komut istemi kullanarak bir script: satır içi betik Windows. Ayrıntılar için bkz. Bash veya Komut satırı görevi.

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

Betik dosyası

Bu kod parçacığı, depoda yer alan bir betik dosyasını çalıştırır. Ayrıntılar için Bkz. Kabuk Betiği,Batch betiğiveya PowerShell görevi.

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

Sonraki Adımlar

Uygulamanızı oluşturduk ve test ettikten sonra derleme çıkışını Azure Pipelines'a yükleyebilir, Maven paketi oluşturabilir ve yayımlayın veya derleme çıkışını bir web uygulamasına dağıtılacak bir .war/jar dosyasına paket haline getirebilirsiniz.

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