Jenkins-Pipeline语法篇- Pipeline指令

Jenkins Pipeline 语法分类
  • Jenkins Pipeline 支持两种语法,一种 Declarative Pipeline(声明式),一种 ScriptedPipeline(脚本式)。

  • 声明式的 Pipeline 限制用户使用严格的预选定义的结构,是一种声明式的编程模型,对比脚本式的 Pipeline 学习起来更加简单;

  • 脚本式的 Pipeline 限制比较少,结构和语法的限制由 Groovy 本身决定,是一种命令式的编程模型。

  • 所以使用声明式的方式编写 jenkinsfile。一般来说 jenkinsfile 会被放在代码库的根目录下。

Pipeline 的几个基本概念
1、Stage 阶段: stages : 阶段组
  • 一个 Pipeline 有多个 Stage 组成,每个 Stage 包含一组 Step。
  • 注意一个 Stage 可以跨多个 Node 执行,即 Stage 实际上是 Step 的逻辑分组。
  • 一个Jenkinsfile 可以分为大的阶段,如打包、构建、 部署。测试
  • 构建的流程,可以分为这几步,获取源代码,然后打包,构建,进行编译,替换配置文件,编译完打包,进行部署 这个阶段就是stage
2、Node节点:
  • 一个 Node 就是一个 Jenkins 节点,可以是 Master,也可以是 Slave,是 Pipeline中具体 Step 的运行环境。
3、Step步骤:
  • Step是基本的运行单元,可以是创建一个目录、从代码库中 checkout 代码、执行一个 shell 命令、构建 Docker 镜像、将服务发布到 Kubernetes 集群中。

    • Step 由 Jenkins 和 Jenkins 各种插件提供。 dockerfile
  • step步骤 就是具体的操作,具体的一步一步的东西就是步骤step,是最小的操作单元。每个阶段都有很多步骤

options Jenkins Pipeline配置参数

options Jenkins Pipeline配置参数

参数名 说明 例子
buildDiscarder 保留最近历史构建记录的数量 buildDiscarder(logRotator(numToKeepStr: ‘10’)
checkoutToSubdirectory 将代码从版本控制库中拉取后,保存在工作目录的子目录 checkoutToSubdirectory(‘subdir’)
disableConcurrentBuilds 禁用Jenkins同时执行多次该pipeline disableConcurrentBuilds()
newContainerPerStage agent为Docker或Dockerfile时,每个stage都分别运行在一个新容器中 newContainerPerStage()
retry pipeline发生失败后重试次数 retry(4)
timeout pipeline运行超时时间 timeout(time:10, unit: ‘HOURS’)
pipeline{
   
    agent any
    options{
   
        buildDiscarder(logRotator(numToKeepStr: '10')
        disableConcurrentBuilds()
        retry(4)
        timeout(time:10, unit: 'HOURS')
    }
    stages{
   
        stage('demo'){
   
            steps{
   
                sh 'echo hello'
            }
  • 2
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值