[go: up one dir, main page]

    Gitee 帮助中心 / 帮助详情

    发布部署

    1、上传制品

    用于将暂存构建物上传到制品库中永久保留

    • 可视化配置
      上传制品
    • yml
      # 将构建插件的暂存构建物上传到制品库
      - 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,版本号将会自增。
      制品库发布记录

    • 可视化配置
      发布

    • yml

      - 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!'

    4、主机滚动部署

    支持暂存产物、制品库内产物、发布产物自动下载到指定主机组,并按批次执行指定脚本

    • 可视化配置
      输入图片说明
    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: []

    搜索帮助