Aracılığıyla paylaş


Java uygulamaları geliştirme

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022 | Azure DevOps Server 2020

Java uygulamalarının derlemesini, testini ve dağıtımını otomatikleştirmek için Azure Pipelines'ı kullanın. Bu makalede Maven, Gradle veya Ant gibi araçları kullanarak Java projeleri için işlem hattı ayarlama açıklanmaktadır. Ayrıca uygulamanızı App Service, İşlevler veya Kubernetes gibi Azure hizmetlerine dağıtmayı da öğrenirsiniz.

İşlem hattı kullanarak şunları yapın:

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

Önkoşullar

ürün Gereksinimler
Azure DevOps - Bir Azure DevOps projesi.
- Microsoft tarafından barındırılan ajanlarda pipeline'ları çalıştırma yeteneği. Paralel bir satın alabilir veya ücretsiz katman isteyebilirsiniz.
- YAML ve Azure Pipelines hakkında temel bilgiler. Daha fazla bilgi için bkz. İlk işlem hattınızı oluşturma.
- İzinleri:
     - İşlem hattı oluşturmak için Katkıda Bulunanlar grubunda yer almanız ve grubun Derleme işlem hattı oluşturma izninin İzin Ver olarak ayarlanması gereklidir. Proje Yöneticileri grubunun üyeleri işlem hatlarını yönetebilir.
    - Hizmet bağlantıları oluşturmak için:hizmet bağlantıları için Yönetici veya Oluşturucu rolüne sahip olmanız gerekir.
GitHub (İngilizce) - GitHub hesabı.
- Azure Pipelines'ı yetkilendirmek için GitHub hizmet bağlantısı.
Gök mavisi Azure aboneliği.
ürün Gereksinimler
Azure DevOps - Bir Azure DevOps projesi.
- Kendi kendine barındırılan bir aracı. Kendinize ait bir acente oluşturmak için Kendi Sunucunuzda Barındırılan Acenteler'e bakın.
- YAML ve Azure Pipelines hakkında temel bilgiler. Daha fazla bilgi için bkz. İlk işlem hattınızı oluşturma.
- İzinleri:
    - İşlem hattı oluşturmak için Katkıda Bulunanlar grubunda yer almanız ve grubun Derleme işlem hattı oluşturma izninin İzin Ver olarak ayarlanması gereklidir. Proje Yöneticileri grubunun üyeleri işlem hatlarını yönetebilir.
    - Hizmet bağlantıları oluşturmak için:hizmet bağlantıları için Yönetici veya Oluşturucu rolüne sahip olmanız gerekir.
GitHub (İngilizce) - GitHub hesabı.
- Azure Pipelines'ı yetkilendirmek için GitHub hizmet bağlantısı.
Gök mavisi Azure aboneliği.

GitHub deposu oluşturma

Aşağıdaki depoyu GitHub hesabınıza fork'layın.

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

İşlem hattı oluştur

  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. Kaynak kodunuzun konumu olarak GitHub'ı seçerek başlayarak sihirbaz adımlarını izleyin. 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 devam etmek için 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. Daha fazla bilgi için Kodunuzu Derleme bölümüne bakın.

  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. Koleksiyonunuza gidin ve projenizi seçin.

  2. İşlem Hatları'nı seçin, ardından projedeki 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. Daha fazla bilgi için Kodunuzu Derleme bölümüne bakın.

  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

Derleme ortamı

Altyapıyı ayarlamadan Java uygulamaları oluşturmak için Azure Pipelines'ı kullanın. Windows, Linux veya macOS görüntüleri üzerinde yapılar oluşturun. 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 denetlemek için bkz. Microsoft tarafından barındırılan aracılar.

Dosyanızda azure-pipelines.yml aşağıdaki kod parçacığını güncelleştirerek uygun görüntüyü seçin.

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

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

Microsoft tarafından barındırılan aracılara alternatif olarak, Java yüklü olarak şirket içinde barındırılan aracılar ayarlayın. Büyük bir depoya sahipseniz veya artımlı derlemeler çalıştırıyorsanız zaman kazanmak için kendi barındırdığınız aracılar kullanın.

Derlemeler kendi barındırdığı bir aracı üzerinde çalışır. Java'nın ve seçtiğiniz derleme yöntemi için gereken araçların aracının konağına yüklendiğinden 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, dosyanıza azure-pipelines.yml aşağıdaki kod parçacığını ekleyerek aracı havuzunu ve Maven özelliğine sahip bir aracıyı belirtin.

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 derlemesi için, aşağıdaki görevleri azure-pipelines.yml dosyasına ekleyin. Değerleri projenizle eşleşecek şekilde değiştirin. Görev seçenekleri hakkında daha fazla bilgi için Maven görevi bölümüne bakın.

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ştir

mavenPomFile dosyası deponun kökünde değilse pom.xml değerini ayarlayın. Dosya yolu değeri, deponun köküne göre IdentityService/pom.xml veya $(system.defaultWorkingDirectory)/IdentityService/pom.xml gibi 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 derlemesi için azure-pipelines.yml dosyasına aşağıdaki görevi ekleyin. Bu seçenekler hakkında daha fazla bilgi için Gradle görevi kısmına bakın.

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

Gradle sarmalayıcı

gradlew Dosyanın depoda olduğundan emin olun. Değilse, projenin kök dizininde gradle wrapper çalıştırarak onu oluşturun. Gradle sarmalayıcı oluşturma hakkında bilgi için Gradle'e bakın.

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 ayarla

workingDirectory dosyası deponun kökünde değilse gradlew değerini ayarlayın. Dizin değerinin, IdentityService veya $(system.defaultWorkingDirectory)/IdentityService gibi, deponun köküne göre olması gerekir.

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

Gradle görevlerini ayarlama

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

Karınca

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 Ant görevine bakın. Ö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'

Senaryo

Komut satırı veya betik ile derlemek için bu kod parçacıklarından birini azure-pipelines.yml dosyaya ekleyin.

Satır içi betik

Bu script: adımı, Linux ve macOS üzerinde Bash, Windows'da ise Komut Satırı 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 görev deponuzdaki bir betik dosyasını çalıştırır. Ayrıntılar için Kabuk Betiği, Batch Script veya PowerShell görevi kısmına bakın.

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

Sonraki adımlar

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

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