首页 >> 数码 >> 持续交付-Jenkinsfile 语言

持续交付-Jenkinsfile 语言

2023-03-09 数码

nvironment {CC='clang'}

environment {AN_ACCESS_KEY = credentials('my-prefined-secret-text')}

steps {sh 'printenv'}

落选项(options)

不是需,预假定 Pipeline 专有的的设计信息,极少假定一次

下例:

pipeline {

agent any

options{

timeout(time:1,unit: 'HOURS')

}

}

变量(parameters)

不是需, 假定变量化重构的变量可落选变量, 变量并不一定 booleanParam,choice,file,text,password,run,string

下例:

parameters {

string(name: 'PERSON', defaultValue: 'Jenkins', description: '输入的文本变量')

choice(name: 'CHOICE', choices: ['One', 'Two', 'Three'], description: 'Pick something')

}

启动时器(rtiggers)

不是需,假定 Pipeline 被备用启动时的方式落选项 cron、pollSCM、upstream

下例:

triggers {

cron('0 8 * * 1-5')

}

Script Pipeline

Script Pipeline上下文果树

一个 Script Pipeline 可以分界成若干个 Stage,每个 Stage 代表一组操作,例如 Build,Test;Node 代表 Jenkins 节点,比如 Master, Slave 这样的节点;Step 是最基本的操作单元,在近似于 Node 节点上执行者的手部上下文从外部写在 node {} 之中。

程序中掌控上下文

如同传统的Perl一样,Script Pipeline 是从上至下次序执行者,可以使用 Groovy 表述式顺利进行程序中掌控,如 if/else 上下文通过语古义前提条件假定来对程序中顺利进行掌控:

node {

stage('Example') {

if (env.BRANCH_NAME == 'master') {

echo 'I only execute on the master branch'

} else {

echo 'I execute elsewhere'

}

}

}

反常检视上下文

Script Pipeline 剧本程序中掌控的另一种方式是反常检视机制。当任何一个方式中因各种原因而出现反常时,都需在编码之中使用 try/catch/finally 上下文块顺利进行反常捉到,并通过预先原作编码顺利进行检视,保证剧本能够顺利执行者:

stage('Error Handling') {

node{

echo "This is test demo for the error handling"

try {

echo "This is in the try block."

sh 'exit 1'

}catch (exc) {

echo "Something failed, I'm in the catch block."

}finally {

echo "Finally, I'm in the finally block."

}

}

}

Jenkinsfile 之中线程plugin功能

在 Jenkinsfile 之中除了可以使用常规的语古义、程序中掌控,还可以线程 Jenkins 的API功能。下面用如下下述顺利进行说明。

Email ExtensionAPI

Email Extension 是 Jenkins 之中的一个外部API,用来发送投递,从 Jenkins 的 Plugin Manager 之中顺利进行重新安装。在 Pipeline 之中通过编码线程可以启动时该API的直通,借助于发送投递的功能。

基础的设计

在重新安装好 Email Extension API以后,首先只能落选择一个准备用来发送 Jenkins 通知投递的邮箱,发件邮箱的明确变量要提早知晓(举例来说变量可以从邮箱的的设计变量信息URL上查到);以后要在 Manage Jenkins -> Configure System 之中将近似于变量填写该API的近似于的设计项之中,需的设计的变量如下:

SMTP server:smtp 咨询服务接收者 SMTP port:smtp 端口号 Use SMTP Authentication:开通 smtp 必需可执行 User Name:发件人的网站 Password:发件人密码 Default Recipients:可落选递送

其他的变量可以根据自己的只能顺利进行的设计,Email Extension 的设计参见图片如下:

Pipeline编码

pipeline{

agent {

label 'master'

}

stages{

stage('发送投递的测试') {

steps{

echo 'Test Email'

}

}

}

post {

always {

emailext body: '$DEFAULT_CONTENT', recipientProviders: [[$class: 'RequesterRecipientProvider']], subject: '$DEFAULT_SUBJECT'

}

}

}

Declared Pipeline 的入门学习精准度相对不高,这种类似我们在好好备用化的测试上所认识的表单驱动模式,只要理解其假定好的URL,按建议复合数据即可。

虽然这种方式入门容易,但掌控能力欠缺。相比之下 script Pipeline 的效用就是迅捷,好封装,易于大规模使用,但只能有一定的编程娴熟。

青岛看癫痫哪家比较好
杭州白癜风专科医院哪家好
天津看牛皮癣哪间医院好
重庆看白癜风去什么医院最好
重庆看牛皮癣去哪家医院
TAG:语言
友情链接