Java'yi derleme ve Azure İşlevleri
Azure Pipelines
Sunucu çalıştırma Azure İşlevleri ek yükü olmadan bulutta küçük kod parçaları çalıştırmak için Azure İşlevleri'i kullanabilirsiniz. Bu adım adım kılavuzda, Java işlev uygulamanızı sürekli olarak derlemeyi ve dağıtmayı öğrenebilirsiniz. Daha sonra takımınız her işlemeyi otomatik olarak GitHub ve 2019'da otomatik olarak değişikliği Azure İşlevleri.
Önkoşullar
Depo GitHub bir hesaptır. Microsoft hesabınız yoksa ücretsiz olarak oluşturabilirsiniz.
Bir Azure DevOps kuruluş. Microsoft hesabınız yoksa ücretsiz olarak oluşturabilirsiniz. (Azure DevOps kuruluş, GitHub farklıdır. DevOps ve GitHub kuruluş arasında hizalamak için aynı adı veserini ve sonra da aynı adı vesersiniz.)
Takımınız zaten varsa, kullanmak istediğiniz Azure DevOps projenin yöneticisi olduğundan emin olun.
Microsoft tarafından barındırılan aracılarda işlem hatlarını çalıştırma özelliği. Paralel iş satın almak veya ücretsiz katman isteğite bulundurarak. Ücretsiz katman isteğinde olmak için bu makaledeki yönergeleri izleyin. Ücretsiz katmanın verilmesinin 2-3 iş günü içinde devam ettiycemizi lütfen unutmayın.
Azure hesabı. Microsoft hesabınız yoksa ücretsiz olarak oluşturabilirsiniz.
İpucu
Bu alanda yeniyseniz, başlamanın en kolay yolu hem Azure Pipelines kuruluşun hem de Azure aboneliğinin sahibiyle aynı e-posta adresini kullanmaktır.
Kodu alma
Dağıtmak istediğiniz bir uygulama GitHub zaten varsa, bu kod için bir işlem hattı oluşturabilirsiniz.
Yeni bir kullanıcıysanız, bu GitHub:
https://github.com/MicrosoftDocs/pipelines-java-function
Azure İşlevleri uygulaması oluşturma
Azure Portal'da oturumaçın ve ardından sağ Cloud Shell üst köşedeki Azure Portalı düğmesini seçin.
Yeni bir Linux üzerinde Azure App Service. Kullanmak istediğiniz çalışma zamanlarını seçin.
# Create a resource group
az group create --location westus --name myapp-rg
# Create a storage account
az storage account create --name mystorage --location westeurope --resource-group myapp-rg --sku Standard_LRS
# Create an Azure Functions app
az functionapp create --resource-group myapp-rg --consumption-plan-location westeurope \
--name my-app-name --storage-account mystorage --runtime java
Güncelleştirme pom.xml
pom.xmlgüncelleştirmesini, uygulamanızı yansıtacak şekilde güncelleştirin. , pom.xml ve değerleriniz ile, forked depoda FUNCTION_APP_NAMEREGION dosyasını RESOURCE_GROUP düzenleyin.
<functionAppName>FUNCTION_APP_NAME</functionAppName>
<functionAppRegion>REGION</functionAppRegion>
<stagingDirectory>${project.build.directory}/azure-functions/${functionAppName}</stagingDirectory>
<functionResourceGroup>RESOURCE_GROUP</functionResourceGroup>
Azure'da Azure Pipelines ve Azure'a bağlanma
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.
Şimdi hizmet bağlantısını oluşturun:
Proje panodan sol alttaki Project ayarları seçin.
Ayarlar sayfasında Hizmet bağlantıları'Pipelines'ıseçin, Yeni hizmet bağlantısı'Azure Resource Manager.
Hizmet sorumlusu (otomatik) ve Sonraki'yiseçin.
Hizmet bağlantısı Azure Resource Manager ekle iletişim kutusu görüntülenir.
- KapsamAbonelik'i seçin.
- Abonelik Azure portal aboneliğinizi seçin.
- Kaynak Grubu Daha önce oluşturduğunuz kaynak grubunu seçin.
- Hizmet bağlantı adı Bir ad yazın ve daha sonra kullanmak üzere kopyalayıp bir metin dosyasına yapıştırın.
- Tüm işlem hatlarına erişim izni ver'i seçin.

İpucu
Başka birinin sahip olduğu bir Azure aboneliğine bağlantı oluşturmanız gerekirse bkz. Mevcut bir hizmet sorumlusuyla Azure Resource Managerhizmet bağlantısı oluşturma.
İş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ı yüklemek için GitHub 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ülenir.
İstendiğinde, Web App'inizi oluşturduğunuz Azure aboneliğini seçin.
Web Uygulamasını seçin.
Doğrula ve yapılandır'ı seçin.
Bu Azure Pipelines CI/CD işlem hattınızı tanımlayan bir azure-pipelines.yml dosyası oluşturur:
- Projenizi derlemek için bir Derleme aşaması ve bunu Linux web uygulaması olarak Azure'a dağıtan Bir Dağıtım aşaması içerir.
- Dağıtım aşamasının bir parçası olarak, Web Uygulaması ile aynı varsayılan adla bir Ortam da oluşturur. Ortam adını değiştirmeyi seçebilirsiniz.
İşlem hattının ne yaptığını görmek için işlem hattına göz at. Tüm varsayılan girişlerin kodunuz için uygun olduğundan emin olun.
İşlem hattının ne yaptığına göz attıktan sonra Kaydet ve çalıştır'ı seçin. Bu işlemden sonra Azure Pipelines azure-pipelines.yml dosyasını depoya eklediğinden işleme iletisi istenir. İletiyi düzenledikten sonra Kaydet'i seçin ve işlem hattınızı uygulamalı olarak görmek için yeniden çalıştırın.
Kodunuz Maven şablonuyla iyi bir eşleşme gibi görünüyorsa, için otomatik olarak oluşturduğum bir işlem hattı Azure Pipelines.
İşlem hattını düzenleme
İşlem hattı çalıştır girdikten sonra pencerenin sağ üst köşesindeki dikey üç noktayı seçin ve sonra da İşlem hattını düzenle'yi seçin.
Dağıtımınız için bazı değişkenler ayarlama
# at the top of your YAML file
# set some variables that you'll need when you deploy
variables:
# the name of the service connection that you created above
serviceConnectionToAzure: name-of-your-service-connection
# the name of your web app here is the same one you used above
# when you created the web app using the Azure CLI
appName: my-app-name
# the name of your functionApp is what you provided as
# stagingDirectory in pom.xml
functionAppName: 'javafunctions'
# ...
Azure İşlevlerine dağıtma
# ...
# add these as the last steps
# to deploy to your app service
- task: CopyFiles@2
displayName: Copy Files
inputs:
SourceFolder: $(system.defaultworkingdirectory)/target/azure-functions/$(functionAppName)/
Contents: '**'
TargetFolder: $(build.artifactstagingdirectory)
- task: PublishBuildArtifacts@1
displayName: Publish Artifact
inputs:
PathtoPublish: $(build.artifactstagingdirectory)
- task: AzureFunctionApp@1
displayName: Azure Function App deploy
inputs:
azureSubscription: $(serviceConnectionToAzure)
appType: functionApp
appName: $(appName)
package: $(build.artifactstagingdirectory)/$(appName)
İşlem hattını çalıştırma ve sitenize göz at
Artık değişikliklerinizi kaydetmek ve denemek için hazır oldu!
Düzenleyicinin sağ üst köşesindeki Kaydet'i seçin.
Görüntülenen iletişim kutusunda gibi bir Commit iletisi ekleyin ve Kaydet'i seçin.
İşlem hattı düzenleyicisinde Çalıştır'ı seçin.
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.
İşlem hattı çalıştırktan sonra Azure'da çalışan işlev uygulamasını test edin. Örneğin, bash'e veya bir komut isteminden şunları girin:
curl -w '\n' https://my-app-name-00000000000000000.azurewebsites.net/api/HttpTrigger-Java -d fromYourPipeline
İşlevin daha sonra şunları döndürür:
Hello PipelineCreator
Kaynakları temizleme
Yukarıda oluşturduğunuz kaynaklarla her bitirin, bunları silmek için aşağıdaki komutu kullanabilirsiniz:
az group delete --name myapp-rg
İstendiğinde y yazın.