前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Jenkins声明式管道语法快速参考指南

Jenkins声明式管道语法快速参考指南

作者头像
DevOps云学堂
发布2021-02-26 11:28:12
1.9K0
发布2021-02-26 11:28:12
举报
文章被收录于专栏:DevOps持续集成
关注公众号,回复 “0217” 获取CloudBees官方源PDF文档。

Jenkins管道使用户能够构建完整的持续交付(CD)管道,并作为其应用程序代码的一部分。构建,测试和交付步骤成为应用程序本身的一部分,存储在Jenkinsfile中。声明式管道语法提供了一个简单的预定义层次结构,以使所有经验级别的用户都可以访问管道和相关的Jenkinsfiles的创建。最简单的形式是,管道在代理上运行并包含阶段,而每个阶段都包含定义特定操作的步骤。

代码语言:javascript
复制
pipeline {
  agent {
      label ''
  }
  stages {
    stage('Build') {
      steps{
     sh 'mvn install'
    }
   }
  }
}

此外,声明式管道语法还提供以简单的格式控制管道执行环境的各个方面的能力。例如,使用Maven在Docker容器中构建Java应用程序,该容器仅存档和测试"Master"分支,并在六个小时后超时。

代码语言:javascript
复制
pipeline {
  agent {
    docker {
      label ‘docker-node’
      image ‘maven’
      args ‘-v /tmp:/tmp -p 80:80’
    }
  }
  environment {
    GIT_COMMITTER_NAME = ‘jenkins’
  }
  options {
    timeout(6, HOURS)
  }
  stages {
    stage(‘Build’) {
      steps {
         sh ‘mvn clean install’
      }
    }
    
    stage(‘Archive’) {
      when {
       branch ‘*/master’
      }
      steps {
        archive ‘*/target/**/*’
        junit ‘*/target/surefire-reports/*.xml’
      }
    }
  }

  post {
    always {
       deleteDir()
    }
  }
}

声明式管道语法(必要)

pipeline: 定义一条Jenkins管道。

agent: 定义用于执行管道阶段的代理节点。

  • label: Jenkins node节点的标签
  • docker: 使用Docker类型的节点
    • image:指定docker镜像。
    • args:docker容器所接收的参数。

stages: 流水线所包含的阶段和步骤。

stage: 流水线中的一个阶段

  • steps:一个构建步骤:sh,bat,timeout,echo,archive,junit..
    • parallel: 并行步骤(可选)。
    • script:执行一个脚本块。
  • when: 阶段运行的条件,例如根据分支、变量判断。
  • agent, environment,tools and post

声明式管道语法(可选)

environment: 定义管道运行时环境变量。

options: 定义管道运行时选项。

  • skipDefaultCheckout:禁止自动checkout SCM。
  • timeout:指定管道的运行超时时间。
  • buildDiscarder:丢弃旧版本历史构建。
  • disableConcurrentBuilds: 禁止并行运行。

tools :预先安装的工具可用路径。

triggers: 管道的调度,构建触发器。

parameters:定义管道的运行时参数。

post:定义当管道运行后的操作。

  • always:总是执行。
  • success:管道状态为success执行。
  • failure:管道状态为failed时执行。

关于我们

泽阳,DevOps领域实践者。专注于企业级DevOps运维开发技术实践分享,主要以新Linux运维技术、DevOps技术课程为主。丰富的一线实战经验,课程追求实用性获得多数学员认可。课程内容均来源于企业应用,在这里既学习技术又能获取热门技能,欢迎您的到来!(微信ID: devopsvip)

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-02-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DevOps云学堂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 声明式管道语法(必要)
  • 声明式管道语法(可选)
    • 关于我们
    相关产品与服务
    容器服务
    腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档