Cara menggunakan Docker untuk penyepaduan berterusan dan penggunaan berterusan
Dengan perkembangan pesat pembangunan perisian, penyepaduan berterusan dan penggunaan berterusan telah menjadi bahagian yang amat diperlukan dalam proses pembangunan perisian moden. Sebagai platform kontena, Docker boleh memudahkan proses penyepaduan berterusan dan penggunaan berterusan. Artikel ini akan memperkenalkan cara menggunakan Docker untuk penyepaduan berterusan dan penggunaan berterusan, dan menyediakan contoh kod khusus.
1. Integrasi Berterusan
Integrasi berterusan merujuk kepada pengubahsuaian kod pembangun yang kerap digabungkan ke dalam repositori kongsi, dan kerap membina serta mengujinya. Menggunakan Docker untuk penyepaduan berterusan boleh memudahkan konfigurasi persekitaran dan membina proses serta meningkatkan kecekapan pembangunan.
Dockerfile ialah fail skrip yang digunakan untuk membina imej Docker. Buat fail bernama Dockerfile dalam direktori akar projek dan tambahkan contoh kod berikut:
# 使用官方的 Node.js 镜像作为基础镜像 FROM node:alpine # 设置工作目录 WORKDIR /app # 复制 package.json 和 package-lock.json 到工作目录 COPY package*.json ./ # 安装项目依赖 RUN npm install # 将项目文件复制到工作目录 COPY . . # 暴露端口 EXPOSE 3000 # 运行应用 CMD ["npm", "start"]
Dockerfile ini mentakrifkan imej berasaskan Node.js dan memasang kebergantungan projek ke dalam imej dan fail aplikasi dan salin kod ke dalam direktori kerja . Akhir sekali, dedahkan port dan jalankan aplikasi.
Dalam direktori akar projek, gunakan arahan berikut untuk membina imej Docker:
docker build -t my-app .
Arahan ini akan membina imej bernama my-app berdasarkan takrifan fail Dockerfile.
Buat fail yang dipanggil docker-compose.test.yml dalam direktori akar projek dan tambah contoh kod berikut:
version: '3' services: app: build: context: . dockerfile: Dockerfile depends_on: - db command: npm run test db: image: mongo
Fail docker-compose.test.yml ini mentakrifkan dua Perkhidmatan, satu ialah perkhidmatan aplikasi, iaitu perkhidmatan aplikasi kami, dan satu lagi ialah perkhidmatan db, iaitu perkhidmatan pangkalan data kami. Fail ini mengarahkan Docker untuk menjalankan dua perkhidmatan dan menjalankan arahan ujian dalam perkhidmatan aplikasi.
Dalam direktori akar projek, gunakan arahan berikut untuk menjalankan bekas ujian:
docker-compose -f docker-compose.test.yml up
Arahan ini akan memulakan perkhidmatan apl dan db dan menjalankan arahan ujian.
Tujuan penyepaduan berterusan adalah untuk dengan cepat dan kerap menggabungkan perubahan kod pembangun ke dalam kod utama dan melaksanakan binaan dan ujian automatik. Anda boleh menggunakan alatan seperti Jenkins dan GitLab CI untuk melaksanakan penyepaduan berterusan automatik.
Ambil Jenkins sebagai contoh, buat fail bernama Jenkinsfile, dan tambahkan contoh kod berikut:
pipeline { agent any stages { stage('Build') { steps { sh 'docker build -t my-app .' } } stage('Test') { steps { sh 'docker-compose -f docker-compose.test.yml up' } } } }
Jenkinsfile ini mentakrifkan saluran paip Jenkins yang mengandungi dua peringkat: bina dan ujian. Jalankan arahan docker build
命令构建Docker镜像,在测试阶段执行docker-compose
semasa fasa binaan untuk memulakan bekas ujian.
Tambah fail Jenkinsfile pada direktori akar projek dan konfigurasikan pelayan Jenkins untuk penyepaduan berterusan automatik.
2. Pengerahan berterusan
Pengedaran berterusan merujuk kepada penggunaan kod secara automatik ke persekitaran pengeluaran selepas melengkapkan penyepaduan berterusan. Menggunakan Docker untuk penggunaan berterusan boleh memudahkan proses penempatan.
Menggunakan Fail Docker yang dibuat dalam langkah sebelumnya, bina imej Docker yang mengandungi kod aplikasi.
Buat fail yang dipanggil docker-compose.yml dalam direktori akar projek dan tambah contoh kod berikut:
version: '3' services: app: image: my-app:latest restart: always ports: - 80:3000
Fail docker-compose.yml ini mengarahkan Docker untuk menjalankan perkhidmatan aplikasi, dan gunakan imej aplikasi saya yang baru dibina sebagai imej asasnya. Di samping itu, pemetaan port dan perkhidmatan lain boleh dikonfigurasikan.
Gunakan arahan berikut untuk menggunakan aplikasi dalam persekitaran pengeluaran:
docker-compose up -d
Arahan ini akan memulakan perkhidmatan aplikasi di latar belakang dan mendedahkannya kepada port 80 hos.
Di atas ialah langkah khusus dan contoh kod tentang cara menggunakan Docker untuk penyepaduan berterusan dan penggunaan berterusan. Melalui Docker, anda boleh memudahkan konfigurasi persekitaran dan proses penggunaan, meningkatkan kecekapan pembangunan dan kebolehpercayaan aplikasi.
Atas ialah kandungan terperinci Cara menggunakan Docker untuk penyepaduan berterusan dan penggunaan berterusan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!