在Debian上使用Docker进行持续集成(CI)与部署(CD),可结合Jenkins、GitLab CI/CD等工具,核心流程如下:
安装Docker
在Debian服务器上执行以下命令安装Docker:
sudo apt update sudo apt install -y docker.io sudo systemctl start docker && sudo systemctl enable docker (可选)安装Docker Compose用于多容器管理:
sudo apt install -y docker-compose 选择CI工具
.gitlab-ci.yml定义流程。创建Jenkinsfile
在项目根目录编写Jenkinsfile,定义构建、测试、部署步骤:
pipeline { agent any stages { stage('Build') { steps { sh 'docker build -t my-app:latest .' // 构建镜像 } } stage('Test') { steps { sh 'docker run my-app:latest pytest' // 运行测试 } } stage('Deploy') { steps { withCredentials([usernamePassword(credentialsId: 'docker-hub', usernameVariable: 'DOCKER_USER', passwordVariable: 'DOCKER_PASS')]) { sh 'docker login -u $DOCKER_USER -p $DOCKER_PASS' sh 'docker push my-app:latest' // 推送镜像到仓库 sh 'ssh user@server "docker pull my-app:latest && docker-compose up -d"' // 部署到服务器 } } } } } 配置Docker凭证
在Jenkins“凭据”中添加Docker Hub或私有仓库的用户名、密码,用于镜像推送。
.gitlab-ci.ymlstages: - build - test - deploy build_job: stage: build script: - docker build -t registry.example.com/my-app:latest . - docker push registry.example.com/my-app:latest deploy_job: stage: deploy script: - ssh user@server "docker pull registry.example.com/my-app:latest && docker-compose up -d" only: - main # 仅在main分支触发 使用Docker Compose部署
在服务器上编写docker-compose.yml,定义服务、网络等:
version: '3' services: app: image: my-app:latest ports: - "80:80" volumes: - ./data:/app/data 通过docker-compose up -d启动服务。
自动化触发
docker stats查看资源使用情况。docker pull my-app:v1.0 # 拉取旧版本 docker-compose down && docker-compose up -d # 重启服务 通过以上步骤,可实现Debian环境下基于Docker的自动化CI/CD流程,提升开发与部署效率。