一, 云效调用 barge 执行
barge build -y --skip-prepare -m woodpecker --build.language=java --build.tool=war --build.java.war=target/woodpecker.jar --build.operator=albert.lv --build.packageVersion=20210515112458 --titanPublishBillId=33840 --env=paas-test
二, barge 调用 paas 的 image/barge 接口
GET /paas-k8s-operation/application/v1/image/barge?projectName=%s&envType=%d"
请求参数
| 参数 | 类型 | 备注 |
|---|---|---|
| projectName | String | 应用名 |
| envType | Integer | 环境类型(1:paas-test,2:paas-uat,3:paas-pro) |
获取应用的基础镜像信息 image_to , image_from , docker_file , docker_ignore 等
响应参数
{
"ret": 0,
"msg": null,
"errorCode": null,
"from": "harbor102.test.ximalaya.com/common/alpine-runit-springboot:v0.0.8",
"to": "harbor102.test.ximalaya.com/test/woodpecker",
"dockerFileTemplate": "FROM {{.From}}\nRUN mkdir -p /srv\nADD {{.Jar}} /srv/",
"dockerIgnore": "*\n!{{.Jar}}"
}
三, /image/barge 接口逻辑
projectName -> app -> baseImageId -> baseImage 和 dockerTemplate
四, build 并 push 镜像
barge 执行
docker build --pull --tag harbor102.test.ximalaya.com/test/woodpecker:20210515-112556
docker push harbor102.test.ximalaya.com/test/woodpecker:20210515-112556
推送镜像到harbor
五, barge 将镜像信息同步给 paas
POST /paas-k8s-operation/application/v1/build
POST 请求参数
| 参数 | 类型 | 备注 |
|---|---|---|
| titanPublishId | Long | 部署单id |
| appName | String | 应用名 |
| imageTo | String | 生成镜像地址 |
| imageFrom | String | 基础镜像地址 |
| deployOperator | String | 操作人 |
| environment | String | 环境(paas-test,paas-uat,paas-pro) |
| packageVersion | String | 版本号 |
post 请求调用 build 接口,将 build 后的镜像信息同步给 paas 存入 t_build_image 表中