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:
- İlk Java işlem hattınızı oluşturun.
- Microsoft tarafından barındırılan veya kendi içinde barındırılan aracılarladerleme ortamınızı ayarlayın.
- Maven, Gradle veya Ant ile kodunuzu derleme ve test.
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
Azure DevOps oturum açma ve projenize gidin.
yeni işlem Pipelinesyeni işlem hattı'ı seçin.
İlk olarak kaynak kodunuzun konumu olarak GitHub sihirbazın adımlarını izleyin.
Oturum açmanız için GitHub yönlendirilmesine neden olabilir. Öyleyse, kimlik bilgilerinizi GitHub girin.
Depo listesi görüntülendiğinde depoyu seçin.
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.
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 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!İş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.
İş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.
İş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.
İş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!
İşlem hattınız üzerinde değişiklik yapmaya hazır olduğunda Bunu düzenleyin.
İş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: