IDEA 修改代码 提交 gogs 自动触发 jenkins 流水线打包构建、
2. jenkins 构建完成以后触发 Rancher 自动部署
- 2.1 创建服务并启动: 不配置端口映射通过负载均衡实现动态扩容
2.2 加密的私有仓库拉取镜像失败,需要添加仓库 账户密码信息
Failed to allocate instance [container:1i119]: Bad instance [container:1i119] in state [error]: Error response from daemon: Get "http://192.168.220.132:5000/v2/": net/http: HTTP/1.x transport connection broken: malformed HTTP response "\x15\x03\x01\x00\x02\x02"
架构基础====>> 镜像库====>>> 添加镜像
- 2.3 配置负载均衡
- 2.4 增加容器数量实现动态扩容
- 2.5 配置 rancher 的webhooks 复制 rancher 的webhooks
API====>> Webhooks ====>>添加接收器
- 2.5.1 复制触发地址
http://192.168.220.132:9090/v1-webhooks/endpoint?key=Wsv0O7MAQcArkQC7yp6bEkUbdBsshnrSEyfeMoSn&projectId=1a5
- 2.5.2 postMan 模拟触发:
- 2.5.2.1 1.0-SNAPSHOT:镜像的版本号(TAG)
- 2.5.2.2 1192.168.220.132:5000/com.xiaoming/wang:仓库地址/镜像名
http://192.168.220.132:9090/v1-webhooks/endpoint?key=Wsv0O7MAQcArkQC7yp6bEkUbdBsshnrSEyfeMoSn&projectId=1a5
参数:
{
"push_data": {
"tag": "1.0-SNAPSHOT"
},
"repository": {
"repo_name": "192.168.220.132:5000/com.xiaoming/wang"
}
}
3. 配置jenkins 流水线自动触发 打包升级服务
- 3.1 项目流水线 ====> 配置 =====> prestep ===> shell 脚本触发
curl "http://192.168.220.132:9090/v1-webhooks/endpoint?key=Wsv0O7MAQcArkQC7yp6bEkUbdBsshnrSEyfeMoSn&projectId=1a5" \
-H "Content-Type:application/json" \
-d "{\"push_data\": {\"tag\": \"1.0-SNAPSHOT\"},\"repository\": {\"repo_name\": \"192.168.220.132:5000/com.xiaoming/wang\"}}"
- 3.2 调用url 出rancher 自动部署
成功;
- 3.3 IDEA 提交代码 ===>> 触发 jenkins 流水线 ====> jenkins 流水线执行 成功 触发rancher 升级
提交代码:
自动触发构建:
自动触发Rancher 升级镜像