Java uygulamaları derleme

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019 | TFS 2018

İşlem hattını kullanarak otomatik olarak:

Android projesi üzerinde çalışıyorsanız bkz . Android uygulamalarını derleme, test etme ve dağıtma.

Önkoşullar

Aşağıdaki örneği çalıştırmak için şunlara sahip olmanız gerekir:

  • Depo oluşturabileceğiniz bir GitHub hesabı. Ücretsiz bir tane oluşturun.
  • Bir Azure DevOps kuruluşu. Ücretsiz bir tane oluşturun.
  • Azure DevOps projesi. Projeniz yoksa şimdi proje oluşturun.
  • Depo oluşturabileceğiniz bir GitHub hesabı. Ücretsiz bir tane oluşturun.
  • Azure DevOps Server koleksiyonuna erişim.
  • Azure Pipelines'ı Azure DevOps şirket içinde barındırılan aracılarda çalıştırma özelliği.
  • Azure DevOps projesi. Projeniz yoksa şimdi proje oluşturun.

GitHub deposu oluşturma

GitHub hesabınıza aşağıdaki deponun çatalını oluşturun:

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

İşlem hattı oluşturma

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

  2. İşlem Hatları'na gidin ve projede ilk işlem hattını oluşturuyorsanız Yeni işlem hattı veya İşlem hattı oluştur'u seçin.

  3. İlk olarak kaynak kodunuzun konumu olarak GitHub'ı seçerek sihirbazın adımlarını gerçekleştirin. Oturum açmak için GitHub'a yönlendirilebilirsiniz. Öyleyse GitHub kimlik bilgilerinizi girin.

  4. Deponuzu seçin. Azure Pipelines uygulamasını yüklemek için GitHub'a yönlendirilebilirsiniz. Öyleyse Onayla ve yükle'yi seçin.

  5. İşlem hattınızı yapılandırın sekmesini gördüğünüzde kodunuzu nasıl oluşturmak istediğinize bağlı olarak Maven, Gradle veya Ant'i seçin.

  6. deponuzda işlem hattı tanımınızı içeren bir azure-pipelines-yml dosya oluşturulur ve YAML düzenleyicisinde açılır. Daha fazla görev ekleyerek veya mevcut görevleri değiştirerek işlem hattını özelleştirebilirsiniz. Derleme görevleri hakkında daha fazla bilgi için bkz . Kodunuzu derleme.

  7. düzenlemeyi azure-pipelines.ymlbitirdiğinizde Kaydet ve çalıştır'ı seçin.

  8. Dosyayı deponuza azure-pipelines.yml kaydetmek için Kaydet'i seçin ve yeniden çalıştırın .

İşlem hattınızın nasıl çalıştığını izlemek için İş'i seçin.

  1. Koleksiyonunuz gidin ve projenizi seçin.

  2. İşlem Hatları'nı ve ardından Projede ilk işlem hattını oluşturuyorsanız Yeni işlem hattı veya İşlem hattı oluştur'u seçin.

  3. İlk olarak kaynak kodunuzun konumu olarak GitHub Enterprise Server'ı seçerek sihirbazın adımlarını gerçekleştirin.

  4. Mevcut bir GitHub hizmet bağlantısını kullanın veya yeni bir bağlantı oluşturun.

    Hizmet bağlantısı oluşturmak için:

    1. GitHub Enterprise Server'a Bağlan'ı seçin.
    2. GitHub Enterprise Server URL'nizi girin.
    3. GitHub Enterprise Server kişisel erişim belirtecinizi girin. Kişisel erişim belirteciniz yoksa GitHub Enterprise Server hesabınızda bir belirteç oluşturabilirsiniz. Daha fazla bilgi için bkz . Kişisel erişim belirteci oluşturma.
  5. Deponuzu seçin. Azure Pipelines uygulamasını yüklemek için GitHub'a yönlendirilebilirsiniz. Öyleyse Onayla ve yükle'yi seçin.

  6. İşlem hattınızı yapılandırın sekmesini gördüğünüzde kodunuzu nasıl oluşturmak istediğinize bağlı olarak Maven, Gradle veya Ant'i seçin.

  7. deponuzda işlem hattı tanımınızı içeren bir azure-pipelines-yml dosya oluşturulur ve YAML düzenleyicisinde açılır. Daha fazla görev ekleyerek veya mevcut görevleri değiştirerek işlem hattını özelleştirebilirsiniz. Derleme görevleri hakkında daha fazla bilgi için bkz . Kodunuzu derleme.

  8. düzenlemeyi azure-pipelines.ymlbitirdiğinizde Kaydet ve çalıştır'ı seçin.

  9. Dosyayı deponuza azure-pipelines.yml kaydetmek için Kaydet'i seçin ve yeniden çalıştırın .

İşlem hattınızın nasıl çalıştığını izlemek için İş'i seçebilirsiniz.

Artık deponuzda özelleştirmeniz için hazır çalışan bir YAML işlem hattı (azure-pipelines.yml) var! İşlem hattınızda değişiklik yapmak için İşlem Hatları sayfasında bunu seçin ve dosyayı düzenleyinazure-pipelines.yml.

Derleme ortamı

Kendi altyapınızı ayarlamanıza gerek kalmadan Java uygulamaları oluşturmak için Azure Pipelines'ı kullanabilirsiniz. Windows, Linux veya macOS görüntüleri üzerinde oluşturabilirsiniz. Azure Pipelines'da Microsoft tarafından barındırılan aracıların önceden yüklenmiş modern JDK'leri ve Java için diğer araçları vardır. Hangi Java sürümlerinin yüklü olduğunu öğrenmek için bkz . Microsoft tarafından barındırılan aracılar.

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

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 şirket içinde barındırılan aracılar ayarlayabilirsiniz. Büyük bir deponuz varsa veya artımlı derlemeler çalıştırıyorsanız daha fazla zaman kazanmak için şirket içinde barındırılan aracıları da kullanabilirsiniz.

Derlemeleriniz şirket içinde barındırılan bir aracıda çalışır. Aracınızın ana bilgisayarında seçtiğiniz yöntemle derlemek için gereken Java ve araçlara sahip olduğunuzdan emin olun.

Aracı havuzunuzu ve aracı özelliklerini işlem hattı düzenleyicisindeki Seçenekler sekmesinin Aracı havuzu ve Aracı Belirtimi bölümlerinden seçebilirsiniz.

Örneğin, aracı havuzunu ve Maven özelliğine sahip bir aracıyı belirtmek için dosyanıza azure-pipelines.yml aşağıdaki kod parçacığını ekleyin.

pool: 
  name: MyPool
  demands: maven

Kodunuzu oluşturma

Java uygulamanızı Maven, Gradle, Ant veya bir betik ile oluşturabilirsiniz. Aşağıdaki bölümlerde, her yöntem için işlem hattınıza nasıl derleme adımı ekleyebileceğiniz gösterilmektedir.

Maven

Maven derlemenizle, aşağıdaki görevler dosyanıza azure-pipelines.yml eklenir. Değerleri projenizle eşleşecek şekilde değiştirin. Görev seçenekleri hakkında daha fazla bilgi için bkz . Maven görevi.

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

Spring Boot için Maven görevini de kullanabilirsiniz. Değerinizin dosyanızın mavenPomFilepom.xml yolunu yansıtdığından emin olun. Örneğin, Spring Boot örnek depoyu kullanıyorsanız yolunuz şeklindedircomplete/pom.xml.

Derleme yolunu özelleştirme

Dosyanız pom.xml deponun mavenPomFile kökünde değilse değeri ayarlayın. Dosya yolu değeri, veya $(system.defaultWorkingDirectory)/IdentityService/pom.xmlgibi IdentityService/pom.xml deponun köküne göre olmalıdır.

Maven hedeflerini özelleştirme

Hedefler değerini Maven'ın yürütmesi için boşlukla ayrılmış hedefler listesine ayarlayın, örneğinclean package. Yaygın Java aşamaları ve hedefleri hakkında ayrıntılı bilgi için Apache'nin Maven belgelerine bakın.

Gradle

Gradle derlemesiyle, aşağıdaki görev dosyanıza azure-pipelines.yml eklenir. 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: 'default'
    jdkArchitectureOption: 'x64'
    publishJUnitResults: true
    testResultsFiles: '**/TEST-*.xml'
    tasks: 'build'

Gradle sarmalayıcı

Deponuzda bir gradlew dosya olması gerekir. Yoksa, projenizin kök dizininde çalıştırarak gradle wrapper oluşturabilirsiniz. Gradle sarmalayıcı oluşturma hakkında bilgi için bkz . Gradle.

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

Deponuzun gradle/wrapper/gradle-wrapper.properties dosyası derleme sırasında indirilip kullanılacak farklı bir Gradle sürümünü belirten bir distributionUrl özelliğe sahip olmadığı sürece aracı makinede yüklü olan Gradle sürümü kullanılır.

Derleme yolunu ayarlama

Dosyanız gradlew deponun workingDirectory kökünde değilse değeri ayarlayın. Dizin değeri, veya $(system.defaultWorkingDirectory)/IdentityServicegibi IdentityService deponun köküne göre olmalıdır.

Dosyanız gradlew deponun gradleWrapperFile kökünde değilse değeri ayarlayın. Dosya yolu değeri, veya $(system.defaultWorkingDirectory)/IdentityService/gradlewgibi IdentityService/gradlew deponun köküne göre olmalıdır.

Gradle görevlerini ayarlama

Gradle'ın yürütmesi gereken veya gibi buildcheckgörevlerin görev değerini ayarlayın. Gradle için yaygın Java Eklentisi görevleri hakkında daha fazla bilgi için Gradle'ın belgelerine bakın.

Ant

Ant derlemesi ile aşağıdaki görevi dosyanıza azure-pipelines.yml ekleyin. Proje yapılandırmanızla eşleşecek şekilde dosyanızın build.xml yolu gibi değerleri değiştirin. Bu seçenekler hakkında daha fazla bilgi için bkz . Ant görevi. Örnek depoyu kullanıyorsanız deponuzda bir build.xml dosya sağlamanız gerekir.

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

Komut Dosyası

Komut satırı veya betikle derlemek için dosyanıza azure-pipelines.yml aşağıdaki kod parçacıklarından birini ekleyin.

Satır içi betik

Bu adım Linux script: ve macOS üzerinde Bash ve Windows'da Komut İstemi kullanarak satır içi bir 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 görev deponuzdaki bir betik dosyasını çalıştırır. Ayrıntılar için bkz . Kabuk Betiği, Batch betiği veya PowerShell görevi.

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

Sonraki adımlar

Derleme çıkışınızı işlem hattınızda yayımlayabilirsiniz. Uygulamanızı bir Maven paketinde veya bir web uygulamasına dağıtılacak bir .war/jar dosyasında paketleyebilir ve yayımlayabilirsiniz.

Dağıtım hedefiniz için CI/CD işlem hattı oluşturma hakkında daha fazla bilgi edinin: