Bagikan melalui


Menyebarkan aplikasi Spring Boot ke Linux di Azure App Service

Tutorial ini memandu menggunakan Docker untuk menampung aplikasi Spring Boot Anda dan menyebarkan gambar docker Anda sendiri ke host Linux di Azure App Service.

Prasyarat

Untuk menyelesaikan langkah-langkah dalam tutorial ini, Anda harus memiliki prasyarat berikut:

  • Langganan Azure; jika Anda belum memiliki langganan Azure, Anda dapat mengaktifkan manfaat pelanggan MSDN atau mendaftar untuk akun Azure gratis .
  • Azure Command-Line Antarmuka (CLI).
  • Java Development Kit (JDK) yang didukung. Untuk informasi selengkapnya tentang JDK yang tersedia untuk digunakan saat mengembangkan di Azure, lihat dukungan Java di Azure dan Azure Stack.
  • alat pemrograman Apache Maven (Versi 3).
  • Klien Git.
  • Klien Docker .

Nota

Karena persyaratan virtualisasi tutorial ini, Anda tidak dapat mengikuti langkah-langkah dalam artikel ini pada komputer virtual; Anda harus menggunakan komputer fisik dengan fitur virtualisasi diaktifkan.

Membuat aplikasi web "Panduan Memulai Spring Boot di Docker"

Langkah-langkah berikut menelusuri langkah-langkah yang diperlukan untuk membuat aplikasi web Spring Boot sederhana dan mengujinya secara lokal.

  1. Buka prompt perintah dan buat direktori lokal untuk menahan aplikasi Anda, dan ubah ke direktori tersebut; misalnya:

    mkdir SpringBoot
    cd SpringBoot
    
  2. Kloning Spring Boot di Docker Getting Started proyek sampel ke direktori yang Anda buat; misalnya:

    git clone https://github.com/spring-guides/gs-spring-boot-docker.git
    
  3. Ubah direktori ke proyek yang telah selesai; misalnya:

    cd gs-spring-boot-docker/complete
    
  4. Bangun file JAR menggunakan Maven; misalnya:

    mvn package
    
  5. Setelah aplikasi web dibuat, ubah direktori ke direktori target tempat file JAR berada dan mulai aplikasi web; misalnya:

    cd target
    java -jar spring-boot-docker-complete-0.0.1-SNAPSHOT.jar --server.port=80
    
  6. Uji aplikasi web dengan menelusurinya secara lokal menggunakan browser web. Misalnya, jika Anda memiliki curl yang tersedia dan Anda mengonfigurasi server Tomcat untuk berjalan pada port 80:

    curl http://localhost
    
  7. Anda akan melihat pesan berikut ditampilkan: Hello Docker World

    Telusuri Aplikasi Sampel secara Lokal

Membuat Azure Container Registry untuk digunakan sebagai Docker Registry Privat

Langkah-langkah berikut berjalan menggunakan portal Microsoft Azure untuk membuat Azure Container Registry.

Nota

Jika Anda ingin menggunakan Azure CLI alih-alih portal Microsoft Azure, ikuti langkah-langkah dalam Membuat registri kontainer Docker privat menggunakan Azure CLI 2.0.

  1. Buka portal Microsoft Azure dan masuk.

    Setelah Anda masuk ke akun Anda di portal Azure, ikuti langkah-langkah dalam artikel Membuat registri kontainer Docker privat menggunakan portal Azure, yang telah diparafrasekan menjadi langkah-langkah berikut untuk mempercepat proses.

  2. Klik ikon menu untuk Baru, pilih Kontainer, dan lalu pilih Azure Container Registry.

    Membuat Azure Container Registry baru

  3. Saat halaman Buat registri kontainer ditampilkan, masukkan Nama registri, Langganan, Grup sumber daya , dan Lokasi . Lalu pilih Buat.

    Mengonfigurasi pengaturan Azure Container Registry

  4. Pilih Kunci Akses di bawah Pengaturan dan aktifkan sakelar Diaktifkan di belakang pengguna Admin.

    Mengaktifkan UI pengguna admin di portal Microsoft Azure

Mengonfigurasi Maven untuk membangun gambar ke Azure Container Registry Anda

  1. Navigasi ke direktori proyek yang telah selesai untuk aplikasi Spring Boot Anda - misalnya, C:\SpringBoot\gs-spring-boot-docker\complete atau /users/robert/SpringBoot/gs-spring-boot-docker/complete - dan buka file pom.xml dengan editor teks.

  2. Perbarui koleksi <properties> dalam file pom.xml dengan versi terbaru jib-maven-plugin, nilai server login, dan pengaturan akses untuk Azure Container Registry Anda dari bagian sebelumnya dari tutorial ini. Misalnya:

    <properties>
       <jib-maven-plugin.version>3.2.0</jib-maven-plugin.version>
       <docker.image.prefix>wingtiptoysregistry.azurecr.io</docker.image.prefix>
       <java.version>1.8</java.version>
    </properties>
    
  3. Tambahkan jib-maven-plugin ke koleksi dalam file pom.xml. Contoh ini menggunakan versi 3.2.0.

    Tentukan gambar dasar di <from>/<image>, di sini mcr.microsoft.com/openjdk/jdk:11-ubuntu. Tentukan nama gambar akhir yang dibangun dari basis di <to>/<image>.

    Autentikasi {docker.image.prefix} adalah server login pada halaman registri yang ditampilkan sebelumnya. {project.artifactId} adalah nama dan nomor versi file JAR dari build Maven pertama proyek.

    <plugin>
      <artifactId>jib-maven-plugin</artifactId>
      <groupId>com.google.cloud.tools</groupId>
      <version>${jib-maven-plugin.version}</version>
      <configuration>
         <from>
             <image>mcr.microsoft.com/openjdk/jdk:11-ubuntu</image>
         </from>
         <to>
             <image>${docker.image.prefix}/${project.artifactId}</image>
         </to>
      </configuration>
    </plugin>
    
  4. Navigasikan ke direktori proyek yang telah selesai untuk aplikasi Spring Boot Anda dan jalankan perintah berikut untuk membangun kembali aplikasi dan dorong kontainer ke Azure Container Registry Anda:

    az acr login --name wingtiptoysregistry && mvn compile jib:build
    

Nota

Perintah az acr login ... akan mencoba masuk ke Azure Container Registry, jika tidak, Anda perlu menyediakan <username> dan <password> untuk jib-maven-plugin, lihat Metode Autentikasi dalam jib.

Saat Anda menggunakan Jib untuk mengunggah citra Anda ke Azure Container Registry, citra tidak akan menggunakan Dockerfile. Lihat dokumen ini untuk detail lebih lanjut.

Membuat aplikasi web di Linux di Azure App Service menggunakan gambar kontainer Anda

  1. Buka portal Microsoft Azure dan masuk.

  2. Klik ikon menu untuk Buat sumber daya, pilih Komputasi, lalu pilih Web App.

    Membuat aplikasi web baru di portal Microsoft Azure

  3. Saat halaman Web App di Linux ditampilkan, masukkan informasi berikut:

    • Pilih Langganan Anda dari daftar drop-down.

    • Pilih grup sumber daya yang sudah ada, atau tentukan nama untuk membuat grup sumber daya baru.

    • Masukkan nama unik untuk nama aplikasi ; misalnya: wingtiptoyslinux

    • Tentukan keTerbitkan .

    • Untuk bidang Sistem Operasi , pilih Linux.

    • Pilih Wilayah.

    • Terima Paket Linux dan pilihPaket App Service yang sudah ada, atau pilih Buat baru untuk membuat paket layanan aplikasi baru.

    • Klik Berikutnya: Docker.

    Klik tombol Berikutnya: Docker untuk melanjutkan.

    Pada halaman Aplikasi Web pilih Docker, dan masukkan informasi berikut:

    • Pilih Kontainer Tunggal.

    • Registri: Pilih kontainer Anda, misalnya: wingtiptoysregistry.

    • Image: Pilih gambar yang dibuat sebelumnya, misalnya: spring-boot-docker.

    • Tag: Pilih tag untuk gambar, misalnya: terbaru .

    • Perintah Startup: Biarkan kosong karena gambar sudah memiliki perintah start up

    Setelah Anda memasukkan semua informasi di atas, pilih Tinjau & Buat.

    Selesai dengan memilih Tinjau + Buat.

    • Pilih Tinjau + buat.

Tinjau informasi dan pilih Buat.

Setelah penyebaran selesai, pilih Buka sumber daya. Halaman penyebaran menampilkan URL untuk mengakses aplikasi.

Dapatkan URL penyebaran

Nota

Azure akan secara otomatis memetakan permintaan Internet ke server Tomcat yang disematkan yang berjalan pada port - 80. Namun, jika Anda mengonfigurasi server Tomcat yang disematkan untuk berjalan di port - 8080 atau port kustom, Anda perlu menambahkan variabel lingkungan ke aplikasi web yang menentukan port untuk server Tomcat yang disematkan. Untuk melakukannya, gunakan langkah-langkah berikut:

  1. Buka portal Microsoft Azure dan masuk.

  2. Pilih ikon untuk Web Apps, dan pilih aplikasi Anda dari halaman App Services.

  3. Pilih Konfigurasi di panel navigasi kiri.

  4. Di bagian Pengaturan aplikasi , tambahkan pengaturan baru bernama WEBSITES_PORT dan masukkan nomor port kustom Anda untuk nilai tersebut.

  5. Pilih OK. Lalu pilih Simpan.

Menyimpan nomor port kustom di portal Microsoft Azure

Membersihkan sumber daya

Jika tidak lagi diperlukan, gunakan portal Microsoft Azure untuk menghapus sumber daya yang dibuat dalam artikel ini untuk menghindari biaya yang tidak terduga.

Langkah berikutnya

Untuk mempelajari selengkapnya tentang Spring dan Azure, lanjutkan ke pusat dokumentasi Spring on Azure.

Lihat juga

Untuk informasi selengkapnya tentang menggunakan aplikasi Spring Boot di Azure, lihat artikel berikut ini:

Untuk informasi selengkapnya tentang menggunakan Azure dengan Java, lihat Azure for Java Developers dan Bekerja dengan Azure DevOps dan Java.

Untuk detail lebih lanjut tentang proyek sampel Spring Boot di Docker, lihat Spring Boot di Docker Getting Started.

Untuk panduan dalam memulai aplikasi Spring Boot milik Anda sendiri, lihat Spring Initializr di https://start.spring.io/.

Untuk informasi selengkapnya tentang mulai membuat aplikasi Spring Boot sederhana, lihat Spring Initializr di https://start.spring.io/.

Untuk contoh tambahan tentang cara menggunakan gambar Docker kustom dengan Azure, lihat Menggunakan gambar Docker kustom untuk Azure Web App di Linux.