Docker Compose+Jenkins自动化部署全流程

准备工作

  • 安装Docker Compose并部署Jenkins和Git服务
  • 建议在宿主机生成SSH密钥对,将密钥挂载到容器
  • 将公钥配置到Codeup代码仓库的SSH设置中
  • Jenkins容器内部测试 SSH 连接

Jenkins配置流程

1. 创建job

2. 选择流水线类型

3. 到这里我们就开始配置Pipeline script,点击Pipeline语法,来自动生成我们需要的配置。

4. 如下图,我们Git方式,配置Git仓库地址(SSH协议),再添加认证相关。

  1. 这里我们使用的是秘钥认证方式,由于jenkins是通过docker compose管理容器,**推荐在宿主机上生成密钥对,然后挂载到容器中,**公钥配置到git仓库SSH配置中,私钥粘贴到下图Key中,这样jenkins就可以免交互的拉取git仓库 中的代码了。
  1. 配置完成后,我们就可以生成Pipeline脚本了。点击下方Generate Pipeline Script,然后复制方框内的内容。
  1. 编写我们所需要的Pipeline脚本如下,将其粘贴到script的拉取代码模块中,并修改正确的分支,其他模块内容自行编写。

    pipeline {
    agent any

    复制代码
     stages {
         stage('拉取代码') {
             steps {
                 git(
                     url: 'git@codeup.aliyun.com:xxxx.git',
                     branch: 'master',
                     credentialsId: 'codeup-xxxx'  // 你在 Jenkins 中创建的凭证ID
                 )
             }
         }
         
         stage('构建') {
             steps {
                 sh 'echo "开始构建..."'
                 // 你的构建命令,例如:
                 // sh 'mvn clean package'
                 // sh 'npm install && npm run build'
             }
         }
         
         stage('测试') {
             steps {
                 sh 'echo "运行测试..."'
                 // sh 'mvn test'
                 // sh 'npm test'
             }
         }
     }
     
     post {
         success {
             echo 'Pipeline 执行成功!'
         }
         failure {
             echo 'Pipeline 执行失败!'
         }
     }

    }

  2. 立即构建,运行测试

相关推荐
和你看星星1 天前
Git rerere:让重复冲突只解决一次
git
Patrick_Wilson5 天前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
嘻嘻仙人5 天前
Ubuntu中 git上传自己的项目和二次上传一般流程
git·github
Patrick_Wilson5 天前
Squash Merge 的血缘陷阱:为什么删掉的代码又活了过来
前端·git·程序员
沉浸学习的匿名网友5 天前
什么是 .gitignore?为什么每个 Git 项目几乎都离不开它?
前端·git
Suroy5 天前
DockerView-Go:用 Go 写一个终端 Docker 监控工具,顺便做了个 Web 仪表盘
docker
云恒要逆袭5 天前
运行你的第一个Docker容器
后端·docker·容器
深海鱼在掘金6 天前
Git 完全指南 —— 第3章:理解工作区、暂存区、版本库三个核心
git
江华森6 天前
Git 基础筑基:从原理到团队协作的全栈实战
git
JakeJiang6 天前
Git 必备命令指南:从日常高频到项目开发实战
git