提供Rancher持续部署能力
-- 主页:https://ylyue.cn/ --
-- QQ群:883630899 --
提供Rancher持续部署能力,通知Rancher进行工作负载重新部署(用于docker镜像版本更新后,在Pod配置不变的情况下,更新拉取最新(或指定版本)的镜像)。
yue-open-devops-deploy基于yue-library开发,所有配置项皆可通过docker -e
环境变量注入
MySQL8数据库初始化脚本位于
docs/mysql8/yue_open_devops_deploy.sql
yue-open-devops-deploy 2.x开始提供admin后台,因此需要依赖MySQL数据库。
- 暂不提供基于
SQLite
的方式,考虑一般开发环境都有业务数据库,如果你也恰好是MySQL8
,那正好,你只需要在你的MySQL8
实例中新建一个名为yue_open_devops_deploy
的数据库utf8mb4/utf8mb4_0900_ai_ci
字符集,然后再导入yue_open_devops_deploy.sql
配置项 |
必填 | 配置项说明 |
示例配置 |
---|---|---|---|
server.port |
否 | 容器内部端口号 | 默认:9999 |
spring.datasource.druid.url |
是 | mysql url | jdbc:mysql://localhost:3306/yue_open_devops_deploy?characterEncoding=utf-8&useSSL=false&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true |
spring.datasource.druid.username |
是 | mysql username | root |
spring.datasource.druid.password |
是 | mysql password | b9a24bc279994963a7789ea802367e17 |
yml配置示例:
server:
port: 9999
spring:
datasource:
druid:
url: jdbc:mysql://localhost:3306/yue_open_devops_deploy?characterEncoding=utf-8&useSSL=false&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true
username: root
password: b9a24bc279994963a7789ea802367e17
registry.cn-hangzhou.aliyuncs.com/yl-yue/yue-open-devops-deploy
registry.cn-hongkong.aliyuncs.com/yl-yue/yue-open-devops-deploy
docker启动命令示例(注意替换-e
环境变量中的值):
docker run -d -e key=value -p9999:9999 --name=yue-open-devops-deploy ylyue/yue-open-devops-deploy:2.0.0
yue-open-devops-deploy
已部署在可访问Rancher Service API的环境中(推荐直接部署在Rancher管理的k8s集群中)BearerToken
:在Rancher UI中可创建,用于调用Rancher API(也用于多Rancher环境区分)Docker镜像
:Docker镜像信息工作负载
:工作负载信息,需要注意的是工作负载API地址需要在Rancher中获取yue-open-devops-deploy
通知HTTP接口地址:PUT /devops/cd
参数名 |
必填 | 参数作用说明 |
参数值示例 |
---|---|---|---|
workloadName | 是 | 工作负载名:用于接收请求时匹配的唯一标识,推荐用命名空间+工作服务名进行命名 | dev_service-user |
imageTag | 否 | docker镜像版本 | 2.0.1 |
完整请求示例:
curl -X PUT http://192.168.0.11:9999/devops/cd -d 'workloadName=dev_service-user&imageTag=2.0.1'
环境变量请求示例(如:云效等场景):
curl -X PUT ${yueOpenRedeployUrl} -d '&workloadName='${workloadName}'&imageTag='${DATETIME}
从
2.x
开始的yue-open-devops-deploy
最低兼容Rancher 2.6.x
,历史兼容请使用历史版本,见历史文档。
工作负载API地址示例:https://192.168.3.50/k8s/clusters/c-m-t8djxmjs/v1/apps.deployments/yue-open:yue-open-devops-deploy
替换规则:https://${rancherUrl}/k8s/clusters/${clusterId}/v1/apps.deployments/${namespaceName}:${deploymentName}
替换规则变量详解:
变量 | 说明 | 示例 |
---|---|---|
rancherUrl |
Rancher UI地址(不是默认端口时需要带端口) | https://192.168.3.52 |
clusterId |
集群ID,在点击对应集群后的地址栏可获得 | c-m-t8djxmjs |
namespaceName |
命名空间名称 | yue-open |
deploymentName |
工作负载名称 | yue-open-devops-deploy |
F12
浏览器控制台查看F12
打开浏览器控制台Bearer
前缀的bearerTokenyodd加入yue-open项目集后,正式推出的第一个规范化版本:
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。