⚠️问题1:在海外部署应用时遇到,海外区域的镜像仓库没有SDK,无法通过内部发布平台推送
⚠️问题2:海外区域镜像仓库没有触发器功能
获取本地最新版本进行推送
内部发布系统构建镜像后,没有变量声明,在推送镜像步骤中无法获取刚打包的镜像版本进行推送。
镜像打包的规则是分支+时间戳,编写脚本通过版本号进行时间排序,拿到最新镜像,进行推送
app="nmk-base" |
通过curl请求服务更新镜像
让kimi帮我生成go的脚本,修改好的脚本main.go如下
package main |
下载相关依赖
go init update-image |
启动服务
go run main.go |
本地测试请求服务
➜ ~ curl -X POST -H "Content-Type: application/json" -d '{"image":"test.nmkapp.com/prod-app/nginx:1.27","deployment":"nginx-deployment"}' http://localhost:8080/update-image |
打包出linux脚本
GOOS=linux GOARCH=amd64 go build -o update-image |
服务器端配置
# 安装Kubectl |
把打包出的update-image上传到服务器,启动服务
nohup ./update-image & |
配置公网elb转发到服务器内,并设置白名单
本地请求服务
curl -X POST -H Content-Type: application/json -d {"image":"test.nmkapp.com/prod-app/nmk-base:release-20250331154728","deployment":"nmk-base"} http://181.71.101.211:8080/update-image |
查看是否更新完成