Membuat dan menerapkan Java ke Azure Functions

Azure DevOps

Anda dapat menggunakan Azure Functions untuk menjalankan potongan kecil kode di cloud tanpa overhead menjalankan server. Pelajari cara membuat alur yang terus membangun dan menyebarkan aplikasi fungsi Java Anda. Tim Anda kemudian dapat secara otomatis membangun setiap penerapan di GitHub, dan jika Anda mau, secara otomatis menyebarkan perubahan ke Azure Functions.

Prasyarat

Pastikan Anda memiliki item berikut:

  • Akun GitHub tempat Anda dapat membuat repositori. Buat akun gratis.

  • Organisasi Azure DevOps. Buat akun gratis. Jika tim Anda sudah memilikinya, pastikan Anda adalah administrator proyek Azure DevOps yang ingin Anda gunakan.

  • Kemampuan untuk menjalankan jaringan alur pada agen yang dihosting Microsoft. Anda dapat membeli pekerjaan paralel atau Anda dapat meminta tingkat gratis.

  • Akun Azure. Jika Anda tidak memilikinya, Anda dapat membuatnya secara gratis.

    Tip

    Jika Anda baru dalam hal ini, cara term mudah untuk memulai adalah dengan menggunakan alamat email yang sama dengan pemilik organisasi Azure Pipelines dan langganan Azure.

Mendapatkan kode

Jika Anda sudah memiliki aplikasi di GitHub yang ingin Anda sebarkan, Anda dapat membuat alur untuk kode tersebut.

Jika Anda adalah pengguna baru, fork repositori ini di GitHub:

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

Membuat aplikasi Azure Functions

Masuk ke Portal Microsoft Azure, lalu pilih tombol Cloud Shell di sudut kanan atas.

Buat Azure App Service di Linux. Pilih runtime yang ingin Anda gunakan.

# 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

Memperbarui pom.xml

Perbarui pom.xml untuk mencerminkan aplikasi Anda. pom.xml Edit file di repositori fork Anda dengan nilai Anda untuk FUNCTION_APP_NAME, REGION, dan RESOURCE_GROUP.

        <functionAppName>FUNCTION_APP_NAME</functionAppName>
        <functionAppRegion>REGION</functionAppRegion>
        <stagingDirectory>${project.build.directory}/azure-functions/${functionAppName}</stagingDirectory>
        <functionResourceGroup>RESOURCE_GROUP</functionResourceGroup>

Membuat koneksi layanan

  1. Dari dasbor proyek Anda, pilih pengaturan Project. Jika Anda tidak memiliki proyek, buat proyek sekarang.

  2. Pada halaman pengaturan, pilihKoneksi LayananAlur>, pilih Koneksi layanan baru, lalu pilih Azure Resource Manager.

  3. Pilih Perwakilan layanan (otomatis) dan Berikutnya.

  4. Kotak dialog Tambahkan koneksi layanan Azure Resource Manager muncul.

    • Lingkup Pilih Langganan.
    • Berlangganan Pilih langganan portal Azure Anda.
    • Grup Sumber Daya Pilih grup sumber daya yang Anda buat sebelumnya.
    • Nama koneksi layanan Ketik nama lalu salin dan tempelkan ke dalam file teks sehingga Anda bisa menggunakannya nanti.
    • Pilih Berikan izin akses ke semua alur.

    New service connection dialog box

Tip

Jika Anda perlu membuat koneksi ke langganan Azure yang dimiliki oleh orang lain, lihat Membuat koneksi layanan Azure Resource Manager dengan perwakilan layanan yang sudah ada.

Membuat alur

  1. Masuk ke organisasi Azure DevOps Anda dan buka proyek Anda.

  2. Buka Alur, lalu pilih Alur baru.

  3. Lakukan langkah-langkah wizard dengan terlebih dahulu memilih GitHub sebagai lokasi kode sumber Anda.

  4. Anda dapat diarahkan ke GitHub untuk masuk. Jika demikian, masukkan informasi masuk GitHub Anda.

  5. Saat Anda melihat daftar repositori, pilih repositori Anda.

  6. Anda mungkin diarahkan ke GitHub untuk menginstal aplikasi Azure Pipelines. Jika demikian, pilih Setujui & instal.

Menggunakan templat Maven

Saat tab Konfigurasi muncul, pilih Maven. Alur baru Anda muncul.

  1. Saat diminta, pilih langganan Azure tempat Anda membuat Aplikasi Web.

  2. Pilih Aplikasi Web.

  3. Pilih Validasi dan konfigurasikan.

    Saat Azure Pipelines membuat file azure-pipelines.yml, yang menentukan alur CI/CD Anda, itu:

    • Termasuk tahap Build, yang membangun proyek Anda, dan tahap Sebarkan, yang menyebarkannya ke Azure sebagai aplikasi web Linux.
    • Sebagai bagian dari tahap Sebarkan, ini juga membuat Lingkungan dengan nama default yang sama dengan Aplikasi Web. Anda dapat memilih untuk mengubah nama lingkungan.
  4. Lihat alur untuk melihat hal yang dilakukannya. Pastikan bahwa semua input default sesuai untuk kode Anda.

  5. Setelah Anda melihat apa yang dilakukan alur, pilih Simpan dan jalankan, setelah itu Anda dimintai pesan penerapan karena Azure Pipelines menambahkan file azure-pipelines.yml ke repositori Anda. Setelah mengedit pesan, pilih Simpan dan jalankan lagi untuk melihat alur Anda beraksi.

Anda baru saja membuat dan menjalankan alur yang secara otomatis kami buat untuk Anda karena kode Anda tampaknya cocok untuk templat Maven Azure Pipelines.

Mengedit alur

Setelah alur berjalan, pilih elipsis vertikal di sudut kanan atas jendela lalu pilih Edit alur.

Mengatur beberapa variabel untuk penyebaran Anda

# 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'
# ...

Menyebarkan ke Azure Functions

# ...
# 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)

Jalankan alur dan lihat situs Anda

Anda sekarang siap untuk menyimpan perubahan Anda dan mencobanya!

  1. Pilih Simpan di sudut kanan atas editor.

  2. Dalam kotak dialog yang muncul, tambahkan pesan Terapkan seperti add deployment to our pipeline, lalu pilih Simpan.

  3. Di editor alur, pilih Jalankan.

  4. Saat Anda melihat pesan Build #nnnnnnnn.n telah diantrekan , pilih tautan nomor untuk melihat alur Anda beraksi.

Setelah alur berjalan, uji aplikasi fungsi Anda yang berjalan di Azure. Misalnya, di bash atau dari prompt perintah masukkan:

curl -w '\n' https://my-app-name-00000000000000000.azurewebsites.net/api/HttpTrigger-Java -d fromYourPipeline

Fungsi Anda kemudian mengembalikan Hello PipelineCreator.

Membersihkan sumber daya

Setiap kali Anda selesai dengan sumber daya yang Anda buat, Anda dapat menggunakan perintah berikut untuk menghapusnya:

az group delete --name myapp-rg

Masukkan y saat Anda diminta.