CI/CD 集成
Docker 与 CI/CD 流程的集成
📋 目录
GitHub Actions 集成
基本配置
# .github/workflows/docker.yml
name: Docker Build and Push
on:
push:
branches: [ main ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Build and push
uses: docker/build-push-action@v2
with:
context: .
push: true
tags: user/app:latestGitLab CI 集成
基本配置
# .gitlab-ci.yml
build:
stage: build
script:
- docker build -t myapp:latest .
- docker push myapp:latestJenkins 集成
Jenkinsfile
pipeline {
agent any
stages {
stage('Build') {
steps {
sh 'docker build -t myapp:latest .'
}
}
stage('Push') {
steps {
sh 'docker push myapp:latest'
}
}
}
}自动化构建与部署
构建流程
- 代码提交
- 触发 CI/CD
- 构建镜像
- 运行测试
- 推送镜像
- 部署到生产环境
镜像自动推送
推送到 Docker Hub
# 登录
docker login
# 构建并推送
docker build -t username/app:latest .
docker push username/app:latest