发布部署插件
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!'
