文档

快速上手

更新时间:

云效 Flow 流水线支持 Pipeline as code,您可通过使用 YAML 文件编排您的流水线配置。一条流水线通常由代码源 sources、阶段 stages、任务 jobs、步骤 steps 等组成。

快速开始

为了让您快速的理解流水线 YAML 整体结构,以下为一个 Java 构建并部署至主机组的示例YAML 文件。

name: demo-pipeline                                       # 流水线的展示名称
sources:                                                  # sources 配置流水线源节点
  my_repo:                                                # 流水线源唯一标识 id
    type: codeup                                          # 流水线源类型
    name: 代码源名称                                       # 代码源的展示名称            
    endpoint: <your-codeup-repository-url>                # 代码源的 url
    branch: master                                        # 代码源的默认分支
    triggerEvents: push                                    # 代码源监听事件
    certificate:                                          # certificate 认证信息
      type: serviceConnection                              # 认证类型为服务连接
      serviceConnection: <your-service-connection-id>      # 服务连接 id
stages:                                       # stages 配置流水线阶段
  build_stage:                                # 流水线阶段标识 id
    name: 构建阶段                             # 流水线阶段的展示名称
    jobs:                                     # jobs 配置流水线任务
      build_job:                              # 流水线任务标识 id
        name: 构建任务                         # 流水线任务的展示名称
        runsOn: public/cn-beijing             # 流水线任务运行的集群环境
        steps:                                # steps 配置流水线步骤
          build_step:                         # 流水线步骤标识 id
            step: JavaBuild                   # 选择执行步骤
            name: java构建                     # 流水线执行步骤的展示名称
            with:                             # 步骤的参数
              run: |
                mvn -B clean package -Dmaven.test.skip=true -Dautoconfig.skip
          upload_step:
            step: ArtifactUpload
            name: 构建物上传
            with:
              uploadType: flowPublic
              artifact: default
              filePath:
                - target/
                - deploy.sh
  deploy_stage:
    name: 部署阶段
    jobs:
      deploy_job:
        name: 主机组部署任务
        component: VMDeploy                # 选择执行组件
        with:                              # 执行组件的参数
          artifact: $[stages.build_stage.build_job.upload_step.artifacts.default]
          machineGroup: <your-machine-group-id>
          artifactDownloadPath: /home/admin/app/package.tgz
          executeUser: root
          run: |
            mkdir -p /home/admin/application/
            tar zxvf /home/admin/app/package.tgz -C /home/admin/application/
            sh /home/admin/application/deploy.sh restart

上述YAML关键节点说明如下:

name

流水线的名称

sources

流水线源,支持配置多个流水线源信息,包括源类型、源地址、默认分支等

sources.<souce_id>

流水线源 id,唯一标识流水线源

sources.<souce_id>.type

流水线源类型,支持 codeup、github、gitlab、jenkins 等多种流水线源类型

sources.<souce_id>.name

流水线源的展示名称

stages

流水线阶段,流水线阶段由一个或多个任务组成

stages.<stage_id>

流水线阶段 id,唯一标识流水线阶段

stages.<stage_id>.name

流水线阶段的展示名称

stages.<stage_id>.jobs

流水线任务,流水线任务 job 可以为多个步骤 steps 的组合(多个步骤共享工作空间,共同完成指定任务), 或一个组件 component 的调用(调用组件执行指定任务,组件任务支持重试、跳过等更多操作)

stages.<stage_id>.jobs.<job_id>

流水线任务 id,唯一标识流水线任务

stages.<stage_id>.jobs.<job_id>.name

流水线任务的展示名称

stages.<stage_id>.jobs.<job_id>.runsOn

流水线任务运行的集群环境,可以使用云效提供的公共集群环境,也可以使用私有构建集群

stages.<stage_id>.jobs.<job_id>.steps

流水线步骤,流水线任务可以由一个或多个步骤 steps 组成

stages.<stage_id>.jobs.<job_id>.steps.<step_id>

流水线步骤 id,唯一标识流水线步骤

stages.<stage_id>.jobs.<job_id>.steps.<step_id>.step

选择流水线的执行步骤

stages.<stage_id>.jobs.<job_id>.steps.<step_id>.name

流水线步骤的展示名称

stages.<stage_id>.jobs.<job_id>.steps.<step_id>.with

流水线步骤的参数

stages.<stage_id>.jobs.<job_id>.component

流水线组件,流水线任务可调用一个组件 component 执行相关操作

stages.<stage_id>.jobs.<job_id>.with

流水线组件的参数

语法细则

流水线源 sources

流水线阶段 stages

流水线任务 jobs

流水线步骤 steps

流水线组件 component

流水线插件 plugins

步骤产物 artifacts

步骤 steps 清单

步骤 steps 清单

组件 component 清单

组件 component 清单

插件 plugins 清单

插件 plugins 清单

  • 本页导读 (0)