• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

Jenkins pipeline:配置pipline以和声明式Jenkinsfile

武飞扬头像
happy_anny_an
帮助4

一.Jenkins配置pipeline操作步骤

1.创建new Item 并选择pipeline

学新通

 2.配置pipeline

Jenkins Pipeline 的定义通常被写入到一个文本文件(称为 Jenkinsfile )中,该文件可以被放入项目的源代码控制库中, Jenkins构建任务时,拉取该仓库到本地,然后读取Jenkinsfile的内容,执行相关的步骤

1)在项目中选择"Pipeline script from SCM"

SCM = Source Control Management 

2)配置拉取代码库信息,然后保持

学新通

 3)构建

 二.声明式Jenkinsfile

所有有效的声明性Pipeline必须包含在一个pipeline块内,Jenkinsfile可在Visual Studio Code中格式化展示

1.environment

环境变量键值对, 作用域取决于在流水线内的位置, 可做完全局变量或者特定阶段的步骤变量

顶层流水线块中使用的 environment 指令将适用于流水线中的所有步骤。

在一个 stage 中定义的 environment 指令只会将给定的环境变量应用于 stage 中的步骤。environment 块有一个 助手方法 credentials() 定义,该方法可以在 Jenkins 环境中用于通过标识符访问预定义的凭证。

2.options

从流水线内部配置特定于流水线的选项

常用的选项:

buildDiscarder-为最近的流水线运行的特定数量保存组件和控制台输出。例如: options { buildDiscarder(logRotator(numToKeepStr: '1')) }

timeout-设置流水线运行的超时时间, 在此之后,Jenkins将中止流水线。例如: options { timeout(time: 1, unit: 'HOURS') }

retry-在失败时, 重新尝试整个流水线的指定次数。 For example: options { retry(3) }

timestamps-预谋所有由流水线生成的控制台输出,与该流水线发出的时间一致。 例如: options { timestamps() }

    options {
        gitLabConnection('gitlab.sami')
//         skipDefaultCheckout(true)
        timeout(time: 6, unit: 'HOURS')
        timestamps()
        disableConcurrentBuilds()
        buildDiscarder(logRotator(numToKeepStr: '10'))
    }

3. parameters

提供了一个用户在触发流水线时应该提供的参数列表。这些用户指定参数的值可通过 params 对象提供给流水线步骤.

parameters {
    string(name: 'BRANCH_TO_BUILD', defaultValue: 'NoAdminStatus', description: 'Provide a feature branch name to build a new snapshot version')
    choice(name: 'ENVIRONMENT', choices: ['qa', 'dev','ppe'], description: 'Provide an environment to run tests on')
}

4. triggers

 定义了流水线被重新触发的自动化方法。当前可用的触发器是 cronpollSCM 和 upstream

周一-周五晚上12点跑pipline

triggers {
    cron("TZ=Asia/Shanghai\n0 0 * * 1-5")
}

5. stages

包含一系列一个或多个 stage 指令。 建议 stages 至少包含一个 stage 指令用于连续交付过程的每个离散部分,比如构建, 测试, 和部署

steps 部分在给定的 stage 指令中执行的定义了一系列的一个或多个steps

stage('Checkout') {
    steps {
        echo "\u2600 start checkout"
        git(url: env.git_url, credentialsId: env.gitlab_credentials, branch: env.branch_to_build, poll: false)
    }
}

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhfgifge
系列文章
更多 icon
同类精品
更多 icon
继续加载