发布部署插件
1. 上传制品
用于将暂存构建物上传到制品库中永久保留
- 可视化配置
# 将构建插件的暂存构建物上传到制品库
- step: publish@general_artifacts
name: publish_general_artifacts
displayName: 上传制品
# 上游构建任务定义的产物名,默认 BUILD_ARTIFACT
dependArtifact: BUILD_ARTIFACT
# 构建产物制品库,默认 default,系统默认创建
artifactRepository: default
# 上传到制品库时的制品命名,默认 build
artifactName: output
2. 发布
“发布”是一个重要概念,表示当前这个制品可以上线,“发布”操作 Gitee Go 中的核心概念,他有以下特点:
-
发布插件依赖于“上传制品”插件
-
发布插件会为制品打一个四位版本号 (例如 1.0.0.1) 版本号
-
发布插件的四位版本号逻辑如下
- 版本号是代码库级别的,默认从 1.0.0.0 开始
- 每个版本号不允许重复发布,每次发布自增第四位版本号
- 您可以自己更改 yml 中的版本号,如由 1.0.0.1 改成 2.0.2.1,那么本次发布的版本号就是 2.0.2.1,下次发布的版本号是 2.0.2.2
- 每次发布会对当前提交打 Tag,Tag 的格式为 v1.0.0.1
-
当制品发布的时候,首先获取当前发布插件中的版本号,查看此版本号是否在代码库中已经使用过,如未使用过,可以直接发布;如果已经使用,则获取 autoIncrement 字段,如果是 true,则获取当前代码库中最大的版本号,并在第四位 +1 后发布;如果是 false,则发布失败,因为当前版本号冲突,请修改或者将 autoIncrement 设置为 true,版本号将会自增。
-
可视化配置
- step: publish@release_artifacts
name: publish_release_artifacts
displayName: '发布'
# 上游上传制品任务的产出
dependArtifact: output
# 发行版制品库,默认 release,系统默认创建
artifactRepository: release
# 发布制品版本号
version: '1.0.0.0'
# 是否开启版本号自增,默认开启
autoIncrement: true
3. 主机部署
支持暂存产物、制品库内产物、发布产物自动下载到指定主机组,并执行指定脚本
- 可视化配置
- yml
- step: deploy@agent
name: deploy_agent
displayName: 主机部署
# 目标主机组
hostGroupID: gitee-go
deployArtifact:
# 部署包来源,build 表示来源于上游流水线,artifact 表示来源于制品仓库,默认 artifact
- source: artifact
# 将部署包下载到主机后的部署包名,默认 output
name: output
# 将部署包下载主机的具体目录,默认 ~/gitee_go/deoloy
target: ~/gitee_go/deoloy
# 上游制品名,只有当 source 为 build 时生效,默认 output
dependArtifact: output
# 以下内容只有在 source 为 artifact 时生效,制品库名,默认 release
artifactRepository: release
# 制品名,默认 output
artifactName: output
# 制品版本,默认取最新
artifactVersion: latest
script:
|
cd ~/gitee_go/deploy
tar -zxvf output.tar.gz
ls
echo 'Hello Gitee!'