Java uygulamaları derleme
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
İşlem hattını kullanarak otomatik olarak:
- Maven, Gradle veya Ant kullanarak projenizi oluşturun.
- Testleri ve kod analizi araçlarını çalıştırın.
- Uygulamanızı işlem hattınızda ve Azure Artifacts'de yayımlayın.
- Uygulamanızı Azure Uygulaması Hizmeti, Azure İşlevleri veya Azure Kubernetes Service'e dağıtın.
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:
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
Azure DevOps kuruluşunuzda oturum açın ve projenize gidin.
İş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.
İ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.
Deponuzu seçin. Azure Pipelines uygulamasını yüklemek için GitHub'a yönlendirilebilirsiniz. Öyleyse Onayla ve yükle'yi seçin.
İş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.
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.düzenlemeyi
azure-pipelines.yml
bitirdiğinizde Kaydet ve çalıştır'ı seçin.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.
Koleksiyonunuz gidin ve projenizi seçin.
İş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.
İlk olarak kaynak kodunuzun konumu olarak GitHub Enterprise Server'ı seçerek sihirbazın adımlarını gerçekleştirin.
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:
- GitHub Enterprise Server'a Bağlan'ı seçin.
- GitHub Enterprise Server URL'nizi girin.
- 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.
Deponuzu seçin. Azure Pipelines uygulamasını yüklemek için GitHub'a yönlendirilebilirsiniz. Öyleyse Onayla ve yükle'yi seçin.
İş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.
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.düzenlemeyi
azure-pipelines.yml
bitirdiğinizde Kaydet ve çalıştır'ı seçin.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 mavenPomFile
pom.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.xml
gibi 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)/IdentityService
gibi 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/gradlew
gibi IdentityService/gradlew
deponun köküne göre olmalıdır.
Gradle görevlerini ayarlama
Gradle'ın yürütmesi gereken veya gibi build
check
gö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: