Rumah >Java >javaTutorial >Bina platform DevOps dengan Spring Boot dan Docker Compose

Bina platform DevOps dengan Spring Boot dan Docker Compose

WBOY
WBOYasal
2023-06-22 09:52:361434semak imbas

Memandangkan industri perisian terus berkembang, semakin banyak syarikat beralih kepada model pembangunan DevOps untuk mencapai pembangunan, ujian dan penggunaan yang lebih cekap. Membina platform DevOps yang cekap memerlukan bukan sahaja teknologi canggih, tetapi juga tahap automasi dan penyeragaman yang tinggi.

Artikel ini akan memperkenalkan cara menggunakan Spring Boot dan Docker Compose untuk membina platform DevOps untuk meningkatkan kecekapan pembangunan, ujian dan penggunaan.

1. Pengenalan kepada Spring Boot

Spring Boot ialah rangka kerja pembangunan pesat berdasarkan rangka kerja Spring Ia menyediakan ciri konfigurasi automatik, pembangunan pantas dan penggunaan pantas, dan merupakan pilihan yang ideal untuk pembangunan aplikasi web moden Salah satu rangka kerja pilihan.

Faedah Spring Boot:

1 Konfigurasi automatik: Spring Boot boleh mengkonfigurasi kebanyakan aplikasi secara automatik, membolehkan pembangun membina aplikasi dengan lebih pantas.

2. Aplikasi yang boleh dijalankan secara bebas: Spring Boot boleh menjalankan aplikasi secara bebas dan tidak perlu digunakan ke pelayan.

3. Pembangunan pantas: Spring Boot menyediakan satu siri alat pembangunan pesat, seperti suite alat Spring dan Spring CLI.

2. Pengenalan kepada Docker Compose

Docker Compose ialah alat orkestrasi berbilang bekas berdasarkan bekas Docker. Ia boleh membuat, memulakan dan mengurus berbilang bekas Docker dengan cepat.

Faedah Docker Compose:

1 Permulaan pantas: Docker Compose boleh memulakan berbilang bekas Docker dengan cepat dan menyediakan rangkaian serta volum untuknya.

2. Pengasingan sumber: Docker Compose boleh menetapkan had sumber yang berbeza untuk setiap bekas untuk memastikan pengasingan antara bekas.

3. Orkestrasi berbilang bekas: Docker Compose boleh memulakan dan mengurus berbilang bekas Docker pada masa yang sama untuk mengatur perkhidmatan atau aplikasi yang berbeza.

3. Bina platform DevOps

1. Pasang Docker dan Docker Compose

Sebelum mula membina platform DevOps, kami perlu memasang Docker dan Docker Compose.

Untuk kaedah pemasangan Docker, sila rujuk laman web rasmi: https://docs.docker.com/install/

Untuk kaedah pemasangan Docker Compose, sila rujuk kepada tapak web rasmi: https://docs.docker .com/compose/install/

2 Cipta aplikasi Spring Boot

Buat aplikasi Spring Boot yang mudah untuk menunjukkan cara menggunakan Docker Compose untuk. membina platform DevOps.

1 Gunakan Gradle atau Maven untuk mencipta projek Spring Boot kosong.

2. Tambahkan kebergantungan Spring Boot dan Tomcat dalam build.gradle atau pom.xml.

3. Cipta pengawal dan halaman mudah untuk memaparkan mesej "Hello World" dalam penyemak imbas.

@RestController
MainController kelas awam {

@RequestMapping("/")
String home() {
    return "Hello World!";
}

}

4 Gunakan perintah gradle bootRun atau mvn spring-boot:run untuk memulakan aplikasi, dan pelayar mengakses localhost :8080, anda sepatutnya melihat mesej "Hello World".

3. Cipta Fail Docker

Untuk menggunakan aplikasi Spring Boot ke dalam Docker, kita perlu mencipta fail Docker.

1. Buat fail bernama Dockerfile dalam direktori akar aplikasi.

2. Tambahkan kandungan berikut pada fail Docker:

Imej asas

DARI openjdk:8-jdk-alpine

Tetapkan direktori kerja bagi imej

WORKDIR /app

Salin fail balang aplikasi ke imej

SALIN target/spring-boot-docker.jar /app/app.jar

Jalankan aplikasi

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

3. di sini Harus berdasarkan nama projek anda.

4. Cipta fail docker-compose.yml

Gunakan Docker Compose untuk mencipta, mengurus dan memulakan berbilang bekas dengan mudah. Kami akan mencipta fail docker-compose.yml yang akan melancarkan bekas aplikasi nginx, MySQL dan Spring Boot.

1. Buat fail bernama docker-compose.yml dalam direktori akar aplikasi.

2. Tambahkan kandungan berikut dalam fail docker-compose.yml:

versi: '3.0'

perkhidmatan:

nginx:

image: nginx:1.13.6
ports:
  - "80:80"
depends_on:
  - web
volumes:
  - ./nginx.conf:/etc/nginx/nginx.conf
  - ./nginx/logs:/var/log/nginx
networks:
  - webnet

mysql:

image: mysql:5.7
environment:
  MYSQL_ROOT_PASSWORD: example
  MYSQL_DATABASE: booking
  MYSQL_USER: booking
  MYSQL_PASSWORD: booking
volumes:
  - ./mysql/data:/var/lib/mysql
networks:
  - webnet

web:

build: .
ports:
  - "8080:8080"
depends_on:
  - mysql
networks:
  - webnet

rangkaian:
webnet:

3 pada anda Bergantung pada keperluan anda, ini termasuk pelayan proksi, port dan pelayan sasaran yang anda mahu gunakan.

5. Mula membina platform DevOps

Sekarang, kami bersedia untuk membina platform DevOps kami.

1. Bina imej aplikasi:

Gunakan arahan binaan docker untuk membina imej aplikasi:

docker build -t spring-boot-docker .

Nota: "spring-boot-docker" di sini hendaklah berdasarkan nama projek anda.

2. Mulakan aplikasi:

Mulakan bekas aplikasi menggunakan Docker Compose:

docker-compose up

Ini akan memulakan nginx, MySQL dan Spring Butkan bekas aplikasi dan kemudian sambungkannya bersama-sama. Akses localhost melalui penyemak imbas dan anda sepatutnya dapat melihat mesej "Hello World".

3. Gunakan alat DevOps:

Kini setelah platform DevOps kami telah dibina, kami boleh mula menggunakan pelbagai alatan DevOps untuk mengurus aplikasi kami, seperti GIT, Jenkins, Docker Registry, dsb. .

4

Artikel ini memperkenalkan cara menggunakan Spring Boot dan Docker Compose untuk membina platform DevOps yang lengkap. Platform ini boleh membantu pembangun membina, menguji dan menggunakan aplikasi dengan lebih mudah, meningkatkan kecekapan dan kualiti pembangunan perisian. Jika anda sedang mencari penyelesaian DevOps yang moden, cekap dan fleksibel, maka Spring Boot dan Docker Compose sudah pasti adalah pilihan terbaik.

Atas ialah kandungan terperinci Bina platform DevOps dengan Spring Boot dan Docker Compose. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn