Jenkins 流水线语法 02 片段生成器和声明式语法生成器
Pipeline 开发工具
选择任意pipeline类型的作业,点击“流水线语法”即可进入pipeline开发工具页面。
片段生成器
有些pipeline代码不是自己去写的,是要工具帮我们生成的,只需要知道怎么生成就行了
Jenkins会安装很多插件,有些插件会为你提供一些方法,也就是代码化的方法让你去使用片段生成器(下面就是安装好的插件为我们提供的所有功能)
流水线代码片段生成器, 非常好用。在这里可以找到每个插件以及Jenkins内置的方法的使用方法。使用片段生成器可以根据个人需要生成方法,有些方法来源于插件,则需要先安装相关的插件才能使用哦。
使用checkout生成器下载gitlab代码
checkout([$class: 'GitSCM', branches: [[name: '*/master']], extensions: [], userRemoteConfigs: [[credentialsId: 'dc735f39-1cef-4a12-a499-6c873b82adcc', url: 'http://192.168.179.100/devops/demo-hello-service.git']]])
pipeline {agent anystages {stage('getCode') {steps {checkout([$class: 'GitSCM', branches: [[name: '*/master']], extensions: [], userRemoteConfigs: [[credentialsId: 'dc735f39-1cef-4a12-a499-6c873b82adcc', url: 'http://192.168.179.100/devops/demo-hello-service.git']]])}}}
}Started by user admin
Running in Durability level: MAX_SURVIVABILITY
[Pipeline] Start of Pipeline
[Pipeline] node
Running on build-01 in /data/cicd/jenkinsagent/workspace/pipeline-test
[Pipeline] {
[Pipeline] stage
[Pipeline] { (getCode)
[Pipeline] checkout
The recommended git tool is: NONE
using credential dc735f39-1cef-4a12-a499-6c873b82adcc
Cloning the remote Git repository
Avoid second fetch
Checking out Revision dc647d4ef52aadabf75db582393156decc4ca6a3 (refs/remotes/origin/master)
Commit message: "Update version"
First time build. Skipping changelog.
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
Cloning repository http://192.168.179.100/devops/demo-hello-service.git> git init /data/cicd/jenkinsagent/workspace/pipeline-test # timeout=10
Fetching upstream changes from http://192.168.179.100/devops/demo-hello-service.git> git --version # timeout=10> git --version # 'git version 2.7.4'
using GIT_ASKPASS to set credentials git-lab-admin-user> git fetch --tags --progress http://192.168.179.100/devops/demo-hello-service.git +refs/heads/*:refs/remotes/origin/* # timeout=10> git config remote.origin.url http://192.168.179.100/devops/demo-hello-service.git # timeout=10> git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10> git rev-parse refs/remotes/origin/master^{commit} # timeout=10> git config core.sparsecheckout # timeout=10> git checkout -f dc647d4ef52aadabf75db582393156decc4ca6a3 # timeout=10
Finished: SUCCESS
使用sh生成器生成shell脚本
pipeline {agent anystages {stage('getCode') {steps {sh 'pwd'}}}
}Started by user admin
Running in Durability level: MAX_SURVIVABILITY
[Pipeline] Start of Pipeline
[Pipeline] node
Running on Jenkins in /var/jenkins_home/workspace/pipeline-test
[Pipeline] {
[Pipeline] stage
[Pipeline] { (getCode)
[Pipeline] sh
+ pwd
/var/jenkins_home/workspace/pipeline-test
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
Finished: SUCCESS
声明式语法生成器
脚本方式和声明方式不同的地方:
如果使用脚本方式的语法和声明式差不多也是node{ stages{......} },但是用不到一些特性比如post标签,即构建后的操作,因为不支持脚本方式,说白了,脚本方式都得自己去写代码。
如果是脚本方式的,需要自己去写代码去判断流水线的状态,然后去做什么动作,声明方式是官方非常推荐的做法,更加结构化,更加简单,有些功能就已经帮我们实现好了。直接在里面写就行了,就不需要为了一些功能写额外的代码了。
可以在声明方式的里面嵌入脚本方式的代码,默认情况下是不支持的,怎么才可以支持,添加script,这样就可以写脚本,更加灵活
可以生成声明式流水线语法的语句块。
pipeline {agent anystages {stage('getCode') {steps {script{sh '''date pwdecho "hh"''' }}}}
}
Started by user admin
Running in Durability level: MAX_SURVIVABILITY
[Pipeline] Start of Pipeline
[Pipeline] node
Running on Jenkins in /var/jenkins_home/workspace/pipeline-test
[Pipeline] {
[Pipeline] stage
[Pipeline] { (getCode)
[Pipeline] script
[Pipeline] {
[Pipeline] sh
+ date
Tue May 18 11:36:36 UTC 2021
+ pwd
/var/jenkins_home/workspace/pipeline-test
+ echo hh
hh
[Pipeline] }
[Pipeline] // script
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
Finished: SUCCESS
stages {stage('build') {steps {// One or more steps need to be included within the steps block.}}}
Jenkins 流水线语法 02 片段生成器和声明式语法生成器相关推荐
- jenkins流水线(jenkinsfile)详解,保姆式教程
jenkins流水线(jenkinsfile)详解 在学习本篇文章的时候,可以去看看jenkins官网的文档,jenkins官网支持中文,观看十分便捷 此教程使用的是gitee+docker+jenk ...
- devops学习(十) Jenkins 流水线
在之前的环境中我们实现了基本的持续集成和持续部署(CI/CD) 但整个实现的过程是非常繁琐的,经常容易忘记怎么操作,而且当报错的时候排查很艰难 在jenkins中提供了一套流水线作业pipeline ...
- Jenkins 流水线说明
.Jenkins 流水线 .CI/CD .流水线 1.承前 作为运维,逃不掉的工作之一就是Jenkins .哪怕开发同学自己会搭也一定会等你来完成,不然像抢了某人的责任田一样. 2. Jenkins ...
- navicat运行db文件_使用 YAML 文件配置 Jenkins 流水线
本文转载自:Jenkins 中文社区 这也是一种自定义流水线 DSL 的方法 几年前,我们的 CTO 写了一篇关于 使用 Jenkins 和 Docker 为 Ruby On Rails 应用提供持续 ...
- 使用jenkins流水线完成自动部署服务到K8s
说明 通过本文章,您可以轻松入门cicd过程.本地测试环境为springboot微服务项目.用户提交代码到gitlab,触发jenkins拉取gitllab上的代码,然后完成编译构建成jar包,同步完 ...
- Docker 搭建 Jenkins 流水线项目配置
本篇介绍 Jenkins 流水线项目的配置及流水线脚本语法规则.至于 Jenkins 的安装及其它配置,我之前写过一篇文章可以查看. https://www.yuque.com/testpu/pro/ ...
- [Jenkins]Gauge测试UI+Jenkins流水线+Mattermost消息订阅(Jenkins篇)
其他两篇相关文章为 Gauge测试UI+Jenkins流水线+Mattermost消息订阅(Gauge篇) Gauge测试UI+Jenkins流水线+Mattermost消息订阅(Mattermost ...
- jenkins pipeline_DevOps编程操练:用Jenkins流水线建立代码质量预警机制
解决痛点 代码上线故障多 不知如何用docker搭建Jenkins操练环境 不知如何开始为Java代码编写自动化单元测试 不知如何将单元测试运行在Jenkins流水线上 不知如何将繁琐的手工Jenki ...
- Jenkins 流水线 获取git 分支列表_Jenkins扩展共享库进阶
读完需 16 分钟 速读需 7 分钟 前言 前面我们介绍了Jenkins多分支流水线.Jenkins流水线即代码之扩展共享库,其实都是"流水线即代码"的体现.我们将Jenkinsf ...
最新文章
- oracle10个,OracleDBA新手经常碰到的10个Oracle错误
- 移动端自动播放音视频实现代码
- Win2008远程多用户登陆的配置方法
- rethat安装MySQL多例_Spring框架-Bean作用域中单例模式和多例模式的区别
- 从理念到实践跳跃式演进!云的原生“免疫系统”如何有机作战?
- excel随机抽取_简单随机抽样及其进阶分层随机抽样方法展示
- 数据类型转换规则C语言
- JS当中的无限分类递归树
- oracle11g安装
- 微信皮肤css,微信小程序实现皮肤功能(夜间模式)_婳祎_前端开发者
- 逻辑代码自动生成相关技术概述
- 阿里巴巴的矢量图标之字体图标
- python 拼音 英文识别_识别同音字词pypinyin, 分词 jieba
- 19 统计量及其抽样分布——样本均值的分布与中心极限定理
- 计算机视觉 相机标定
- 网页制作学习3----实现连缀功能
- 为什么会出现慢SQL
- 大数据开源的可视化分析工具,主要有哪些?
- 编程n的阶乘使用while语句_谷歌工程师新作,东北话编程
- Taro小程序组件传值