用于将暂存构建物上传到制品库中永久保留
# 将构建插件的暂存构建物上传到制品库
- step: publish@general_artifacts
name: publish_general_artifacts
displayName: 上传制品
# 上游构建任务定义的产物名,默认BUILD_ARTIFACT
dependArtifact: BUILD_ARTIFACT
# 构建产物制品库,默认default,系统默认创建
artifactRepository: default
# 上传到制品库时的制品命名,默认build
artifactName: output
“发布”是一个重要概念,表示当前这个制品可以上线,“发布”操作Gitee Go中的核心概念,他有以下特点:
发布插件依赖于 “上传制品” 插件
发布插件会为制品打一个四位版本号(例如 1.0.0.1)版本号
发布插件的四位版本号逻辑如下
当制品发布的时候,首先获取当前发布插件中的版本号,查看此版本号是否在代码库中已经使用过,如未使用过,可以直接发布;如果已经使用,则获取autoIncrement字段,如果是true,则获取当前代码库中最大的版本号,并在第四位+1后发布;如果是false,则发布失败,因为当前版本号冲突,请修改或者将autoIncrement设置为true,版本号将会自增。
可视化配置
yml
- step: publish@release_artifacts
name: publish_release_artifacts
displayName: '发布'
# 上游上传制品任务的产出
dependArtifact: output
# 发行版制品库,默认release,系统默认创建
artifactRepository: release
# 发布制品版本号
version: '1.0.0.0'
# 是否开启版本号自增,默认开启
autoIncrement: true
支持暂存产物、制品库内产物、发布产物自动下载到指定主机组,并执行指定脚本
- 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!'
支持暂存产物、制品库内产物、发布产物自动下载到指定主机组,并按批次执行指定脚本
version: '1.0'
name: pipeline-20220609
displayName: pipeline-20220609
triggers:
trigger: auto
push:
branches:
prefix:
- ''
stages:
- name: stage-a9b5230b
displayName: 未命名
strategy: naturally
trigger: auto
executor: []
steps:
- step: rolling@agent
name: rolling_deploy
displayName: 主机滚动部署
hostGroupID: gitee-go
rollingNum: 1/2
script: echo 'success'
strategy:
retry: '0'
permissions:
- role: admin
members: []