tencent cloud

文档反馈

流程配置详情

最后更新时间:2023-12-29 11:44:51
    title: 流程配置详情 - CODING 帮助中心 pageTitle: 流程配置详情 pagePrevTitle: 文本编辑器 pagePrev: ci/process/text.html pageNextTitle: 图形化编辑器 pageNext: ci/process/visual-editor.html alias: process/detail.html
    本文主要用于辅助编写构建过程,以及说明各项步骤的参数详情。

    代码仓库

    Git

    用以检出当前项目的 Git 仓库源代码。本指令是 checkouk 指令的一个简易写法。
    参数列表:
    Git 地址url: 类型 string
    分支 branch: 类型 string
    变更日志 changelog: 类型 string
    身份认证 ID credentialsId: 类型 string
    Poll poll: 类型 boolean

    从版本控制检出

    通用的检出 SCM(Git,SVN) 代码。
    这个步骤返回一个 Map 格式的内容。例如如果你用 Git,你可以这样:
    def scmVars = checkout scm
    def commitHash = scmVars.GIT_COMMIT
    // or
    def commitHash = checkout(scm).GIT_COMMIT
    参数 scm 是一个可配置 SCM 类型的的对象,目前支持的有如下:
    GitSCM 示例写法:
    checkout([$class: 'GitSCM', branches: [[name: env.GIT_BUILD_REF]],
    userRemoteConfigs: [[url: env.GIT_REPO_URL]]])
    userRemoteConfigs 参数列表:
    url: 类型 string
    name: 类型 string 远程仓库名称,例如 origin
    refspec: 类型 string 关于 refspec 的详细说明,请查看这里: Git 内部原理 - 引用规格
    branches: 类型 对象数组, 可选
    changelog: 类型 boolean, 可选
    credentialsId: 类型 string, 可选
    doGenerateSubmoduleConfigurations: 类型 boolean, 可选
    submoduleCfg: 类型数组,可选
    SubversionSCM 从 SVN 服务器检出代码。 示例写法:
    checkout([$class: 'SubversionSCM', remote: 'http://sv-server/repository/trunk']]])
    参数列表:
    locations: 类型对象数组
    remote: 类型 string
    credentialsId: 类型 string
    local: 类型 string 指明一个本地目录(相对于 workspace)作为检出代码的位置
    depthOption: 类型 string 对应 --depth 的内容。默认值是无穷大, 点击这里了解更多信息
    ignoreExternalsOption: 类型 boolean

    构建过程

    子节点

    参数列表:
    label: 类型 string 环境标签名称,例如 java-8

    收集构建物

    把构建结果(例如 jar,war,apk 等)收集起来。请注意,这里收集的构建产物会跟随这个构建历史一起保存和删除,这里只是一个临时的保存空间,更建议用户使用”构建物管理“来进行构建结果的版本化管理。
    参数列表:
    artifacts: 类型 string 可以使用通配符 * 来指定要收集的文件的路径模式,符合 Apache Ant 的路径规则, 只允许指定工作空间内的文件
    allowEmptyArchive: 类型 boolean,可选 通常情况下,本指令在找不到符合收集模式的文件时会导致构建失败。这个选项如果设置为 true ,那么当没有构建产物的时候,构建过程只会发出一个警告,不会导致失败
    caseSensitive: 类型 boolean, 可选 默认对文件路径规则的匹配是大小写敏感的,如果设置为 false,则不区分大小写
    defaultExcludes: 类型 boolean, 可选
    excludes: 类型 boolean, 可选 在设定的路径模式内可以排除一部分文件,同样支持 Apache Ant 的路径规则
    fingerprint: 类型 boolean, 可选 收集的时候同时计算文件的 hash 信息
    onlyIfSuccessful: 类型 boolean, 可选 只有当构建成功的时候才收集

    执行 Shell 脚本

    执行一段 Shell 脚本。
    示例:
    pipeline {
    agent any
    stages {
    stage('Example') {
    steps {
    echo 'Hello World'
    sh 'ls -al'
    }
    }
    }
    }

    收集 JUnit 测试报告

    收集 JUnit 和 TestNG 的测试报告(xml 格式),你可以指定收集哪些 xml 文件,例如 **/build/test-reports/*.xml. 需要注意的是不要把那些不是报告文件的 xml 包含在内了,你可以用逗号隔开写多个规则。
    参数列表:
    testResults: 类型 string
    allowEmptyResults: 类型 boolean,可选,允许测试报告文件不存在或为空。
    keepLongStdio: 类型 boolean,可选,所有测试日志都会保留,即便是那些通过的测试用例。

    其他

    变更目录子步骤

    变更目录子步骤。可以在 dir 块内填充若干子步骤,这些子步骤将会在指定的路径目录内执行。
    参数列表:
    path: 类型 string

    睡眠

    即暂停一段时间,直至所设定的截止时间。与 Unix 的 sleep xxx 类似。
    参数列表:
    time: 类型 int
    unit: 只能在 NANOSECONDS, MICROSECONDS, MILLISECONDS, SECONDS, MINUTES, HOURS, DAYS 中选择一个。

    错误信号

    发送一个错误信号,往往用在需要根据条件终止部分执行过程的时候。你也可以使用 throw new Excepiton(),但使用 error 步骤可以避免打印过长的异常栈。
    参数列表:
    message: 类型 string

    当前目录

    把当前目录路径以字符串类型作为返回结果。
    参数列表:
    tmp: 类型 boolean 可选参数,如果选择了,则返回一个跟工作空间关联的临时目录。通常用于在不想污染工作空间目录,又想存放一些临时文件之类的场景。

    写文件

    把指定内容写入文件。
    参数列表:
    file: 类型 string
    text: 类型 string
    encoding: 类型 string 文件的编码,如果留空将会根据当前运行环境平台默认编码处理,如果遇到 Binary 文件,则会自动被以 Base64 编码后的结果返回

    读文件

    从相对路径读取文件,并把文件内容作为字符串返回。
    参数列表:
    file: 类型 string 相对路径地址(相对于工作空间目录)
    encoding: 类型 string 文件的编码,如果留空将会根据当前运行环境平台默认编码处理,如果遇到 Binary 文件,则会自动被以 Base64 编码后的结果返回

    重试子步骤

    重试一个指定的块直至达到设定的最多重试次数。如果在执行过程中正常结束,则不再重试,如果执行过程中出现异常,则会不断重试直至达到指定的最大重试次数,如果最后一次尝试出现异常,则构建过程会被终止。
    参数列表:
    count 类型 int

    限时子步骤

    限定时间执行块内的过程。如果时间到了,将会抛出一个异常 org.jenkinsci.plugins.workflow.steps.FlowInterruptedException. 单位参数是可选的,默认是分钟.
    参数列表
    time: 类型 int
    activity: 类型 boolean,以日志没有新的内容来计时,而不是以绝对执行时间来计时
    unit: 只能在 NANOSECONDS, MICROSECONDS, MILLISECONDS, SECONDS, MINUTES, HOURS, DAYS 中选择一个。

    捕获错误子步骤

    这里指定的子步骤中的错误将会被捕获。

    计时子步骤

    这里指定的子步骤的执行时间将会以 Unix 时间戳的形式被记录。

    循环子步骤

    这里指定的子步骤将会被循环执行指定次数。

    条件循环子步骤

    这里指定的子步骤将会被循环执行,直到子步骤的结果返回 true。

    打印消息

    在日志中打印消息。
    参数列表:
    message: 类型 string

    执行任意的 Pipeline 脚本

    添加此步骤可以执行任意的 Pipeline 脚本。

    执行 Groovy 源文件

    构建过程将在此位置执行 Groovy 源文件。
    示例:
    pipeline {
    agent any
    stages {
    stage('Example') {
    steps {
    echo 'Hello World'
    load 'test.groovy'
    }
    }
    }
    }

    执行 Yarn 审计

    此步骤在指定的目录里执行 yarn audit,并且可以在持续集成结果页面看到对 yarn 依赖审查的漏洞情况。
    参数列表:
    directory:类型 string,可选。 填写 yarn.lock 所在目录,默认在项目根目录执行。
    collectResult:类型 boolean,可选。 收集 Yarn Audit 报告。

    执行 Npm 审计

    此步骤在指定的目录里执行 npm audit,并且可以在持续集成结果页面看到对 npm 依赖审查的漏洞情况。
    参数列表:
    directory:类型 string,可选。 填写 package.json 所在目录,默认在项目根目录执行。
    collectResult:类型 boolean,可选。 收集 Npm Audit 报告。

    合并合并请求

    合并代码。你可以在此步骤合并一个指定的合并请求。
    参数列表:
    token:类型 string。 项目令牌。
    depot:类型 string。 仓库名称。
    mrResourceId:类型 string。 指定资源 ID。
    commitMessage:类型 string。 合并提交信息模板。
    deleteSourceBranch:类型 boolean,可选。 删除源分支。
    fastForward:类型 boolean,可选。 尝试 Fast-Forward 模式合并。

    评论合并请求

    评论合并请求。你可以在此步骤评论一个指定的合并请求。
    参数列表:
    token:类型 string。 项目令牌。
    depot:类型 string。 仓库名称。
    mrResourceId:类型 string。 指定资源 ID。
    commentContent:类型 string。 评论内容模板。
    ==== 2020/08/13 ====
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持