Jalankan aplikasi Java Spring Boot Anda di AWS EC2 menggunakan GitHub Actions dan Docker | Oleh Shubham Kumar | Juni 2022

Programming

[ad_1]
Hai Sahabat di suratpembaca.web.id. Kali ini kita akan membicarakan tentang Linux yakni Jalankan aplikasi Java Spring Boot Anda di AWS EC2 menggunakan GitHub Actions dan Docker | Oleh Shubham Kumar | Juni 2022

.

Mudah-mudahan postingan tentang Jalankan aplikasi Java Spring Boot Anda di AWS EC2 menggunakan GitHub Actions dan Docker | Oleh Shubham Kumar | Juni 2022

dapat memberikan manfaat untuk Teman-teman semua. Langsung saja baca artikel ini
hingga tuntas.

Isi daya aplikasi Anda dalam produksi menggunakan GitHub Actions dan sampel AWS EC2

Sumber: Shubham Kumar

Menyebarkan aplikasi di server cloud tidak mudah, apalagi manajemen penyebaran berkelanjutan.

Pada artikel ini, kami akan menerapkan satu dockerized Versi aplikasi booting pegas menggunakan sampel AWS EC2 GitHub Actions Dan juga akan dikonfigurasi nginx Untuk proxy terbalik

Ini adalah kesempatan terakhir Anda.  Tidak ada jalan kembali.  Anda memutuskan untuk tidak menetap, cerita berakhir.  Anda bangun di tempat tidur dan terus berjuang.  Anda memutuskan untuk menetap Anda tinggal di Negeri Ajaib dan belajar untuk menetap di AWS EC2.  Ingat, yang saya tawarkan hanyalah sebuah artikel.  Tidak ada lagi

Anda dapat mengikuti artikel ini untuk menerapkan program apa pun di AWS EC2 GitHub Actions.

Saya berasumsi Anda memiliki instance Ubuntu EC2 yang berjalan dengan grup keamanan yang terhubung.

Bos tangan IT CD yang ditempelkan pada balon.  Bos bertanya,
Sumber: https://whatsthebigdata.com

Mari kita buat program boot musim semi palsu. Kunjungi https://start.spring.io/ dan buat proyek. Kami akan menggunakan Java 11 dan Maven untuk proyek percontohan ini. Anda dapat menggunakan salah satu dari mereka sesuai dengan preferensi Anda. Setelah mengklik tombol generate, Anda akan menerima file zip.

Proyek Awal Musim Semi

Membuat aplikasi dan mendesain API berada di luar cakupan artikel ini, jadi kita akan langsung masuk ke penerapan.

Pada langkah ini, kami memasang aplikasi kami. Ayo buat satu Dockerfile Di akar tangki Anda. Jika Anda ingin tahu lebih banyak tentang buruh pelabuhan, inilah artikel yang menarik.

Karena kami menggunakan program boot musim semi dengan maven, jadi kami akan menggunakannya maven Gambar dan gunakan proses multicast untuk meningkatkan waktu pembuatan dan ukuran gambar Docker.

FROM maven:3.6.3 AS maven# Create a workdir for our app
WORKDIR /usr/src/app
COPY . /usr/src/app

# Compile and package the application to an executable JAR
RUN mvn clean package -DskipTests

# Using java 11
FROM openjdk:11-jdk

ARG JAR_FILE=/usr/src/app/target/*.jar

# Copying JAR file
COPY --from=maven $JAR_FILE app.jar

ENTRYPOINT ["java","-jar","/app.jar"]

Sejauh ini, kami memiliki program berlabuh dan sekarang mengonfigurasinya nginx Sehingga kami dapat mengarahkan ke program kami.

Pada langkah ini, kami mengonfigurasi proxy terbalik. Proxy terbalik bertindak sebagai penghubung antara host (klien) dan server. Ini menerima permintaan klien dan mengirimkannya ke server lain, akhirnya memberikan respons server ke klien, yang tampaknya berasal dari server proxy itu sendiri.

Sederhananya, server proxy mengirimkan permintaan ini ke server proxy dan menerima tanggapan darinya untuk dikirim ke klien.

Arsitektur proxy terbalik

Kami sekarang mendefinisikan konfigurasi nginx kami. Buat file nginx.conf Di bagian bawah tangki. Ringkasan berikut menjelaskan konfigurasi kami yang kami muat ke AWS EC2 kami.

Konfigurasi ini memberi tahu kita bahwa proxy terbalik Nginx mendengarkan port 80 dan menangani semua permintaan koneksi yang masuk untuk demo.com Menuju pelabuhan 80 localhost Server Anda dapat menggantinya dengan server Anda sendiri. IP Alamat.

Petunjuk Bermanfaat: https://www.linode.com/docs/guides/use-nginx-reverse-proxy/

Inilah bagian yang menyenangkan, karena dalam langkah ini kita akan membuat sebuah deploy.sh File bash yang menangani penginstalan perangkat lunak yang diperlukan, membuat Dockerfile, dan menyiapkan proxy nginx pada perangkat Ubuntu EC2. Untuk melakukan ini, buat file deploy.sh Di bagian bawah tangki.

Gadis menonton rumah terbakar, Meem.  Judul: Mereka meminta saya untuk menetap di AWS.  Jadi, saya menambahkan mesin virtual tanpa perlu bekerja
Sumber: memegenerator.net

Langkah-langkah berikut didefinisikan dalam kami deploy.sh File skrip

  • Instal dependensi (Saya telah menginstal dependensi Java dan Anda dapat menggantinya dengan milik Anda sendiri).
  • Jika sudah berjalan, hentikan buruh pelabuhan (sangat berguna saat mencoba pindah untuk menghindari konflik).
  • Salin kami nginx.conf Ke lokasi default Anda
  • Mulai layanan nginx menggunakannya systemctl.
  • Bangun file Docker kami.
  • Jalankan gambar Docker di dalamnya detached keadaan
  • Periksa kesehatan server kami.

Akhirnya, kami sekarang memiliki aplikasi buruh pelabuhan dengan penyebaran nginx dan skrip konfigurasi.

Pada langkah ini, kita menulis konfigurasi dengan judul workflow Di dunia Tindakan GitHub. Karena ini adalah penerapan, kami akan meluncurkan operasi ini hanya pada integrasi dengan master. Anda dapat memilih untuk menjalankan pull_requests.

Catatan: Jika repositori Anda bersifat pribadi, pastikan kunci sb Ubuntu AWS EC2 Anda ditambahkan ke profil akun GitHub Anda.

Untuk saat ini, kami juga perlu menambahkan beberapa rahasia ke repositori sehingga kami dapat mentransfernya langsung ke alur kerja kami sebagai variabel.

Klik Pengaturan repositori Anda, lalu di bagian Keamanan, klik Rahasia lalu Tindakan, dan tambahkan rahasia lingkungan Anda. Berikut ini adalah rahasia yang diperlukan untuk diterapkan di AWS:

  • AWS_ACCESS_KEY_ID – ID kunci akses AWS.
  • AWS_DEFAULT_REGION – Area AWS EC2.
  • AWS_SECRET_ACCESS_KEY – Kunci akses rahasia AWS.
  • AWS_SECURITY_GROUP – ID grup keamanan AWS EC2.
  • HOSTNAME – Alamat IPv4 publik
  • SSH_PRIVATE_KEY – Kunci pribadi SSH EC2.
  • USERNAME – Nama pengguna EC2 (ubuntu tentang kami).

Mari kita menulis file konfigurasi kita. Buat file deploy.yml Dalam .github/workflows Direktori yang terletak di root repositori. Semua tindakan GitHub yml File dibuat secara internal .github/workflows Daftar bantuan.

Ikhtisar langkah penerapan yang kami ikuti dalam konfigurasi di atas:

  1. Setiap kali runner GitHub berjalan, ia menggunakan mesin bersama yang baru dengan alamat IP yang unik. Hal pertama yang kami lakukan dalam alur kerja kami adalah mendapatkan IP perangkat runner.
  2. Konfigurasikan kredensial AWS, termasuk pengaturan wilayah yang benar.
  3. Tambahkan IP Runner ke grup keamanan mesin AWS Anda aws ec2 authorize-security-group-ingress.
  4. Impor dan jalankan SSH ke AWS EC2 kami deploy.sh Script di root repositori.
  5. Setelah berhasil melakukan ping ke server kami, hapus IP Runner menggunakan grup keamanan AWS EC2 Anda aws ec2 revoke-security-group-ingress.
  6. membersihkan.
Pengarang: Shobham Kumar

Setelah kunjungan berhasil dari penerapan URL server Anda, Anda dapat mengakses aplikasi Anda.

Sumber: Shubham Kumar

Dalam artikel ini kami melihat bagaimana kami dapat menerapkan aplikasi di AWS EC2 menggunakan GitHub Actions dan buruh pelabuhan. Setiap kali Anda membuat perubahan pada masterSetel ulang aplikasi Anda.

Sumber: https://media.giphy.com/media/3l5yJWhnbw5yyqDcQg/giphy.gif

Demikian artikel mengenai Jalankan aplikasi Java Spring Boot Anda di AWS EC2 menggunakan GitHub Actions dan Docker | Oleh Shubham Kumar | Juni 2022

, terimakasih telah berkunjung di website ini, mudah-mudahan postingannya ada manfaatnya ya.

[ad_2]

Source link

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan.