Groovy 常用语句
来源:原创
时间:2020-05-13
作者:脚本小站
分类:Jenkins
基本语法:
一个pipeline中只能包含一个stages。
一个stages可以包含多个stage('xxx')。
一个stage('xxx')可以包含一个steps。
环境变量:
自定义变量和系统变量重名时,自定义变量会覆盖系统原有的变量。
在系统设置里面可以添加夸pipeline的环境变量。
pipeline { agent any // 自定义环境变量 environment { CC = 'clang' } stages { stage('env example'){ steps{ // 使用内置变量 echo "Running ${env.BUILD_NUMBER} on ${env.JENKINS_URL}" echo "Running $env.BUILD_NUMBER on $env.JENKINS_URL" } } stage('printenv'){ steps{ // 打印出所有变量 //sh 'printenv' echo 'printenv' } } stage('diyenv'){ // 自定义环境变量,当前stage有效 environment { AA = '123' } steps{ // 输出环境变量 echo "${AA} ${CC}" sh 'printenv' } } } }
从git拉取代码:
credentialsId:git拉取代码使用到的认证ID,jenkins->凭据->右边即可看到,没有凭据添加后会自动生成这个ID。
#!groovy pipeline { agent any stages { stage('拉取代码') { steps { git credentialsId: 'ddd88470-e818-44d1-b995-b66873574626', url: 'http://git.vphotos.cn/zhuqiyang/infra_example1.git' sh "ls -al" } } } }
或者下载到指定目录:
#!groovy pipeline { agent any stages { stage('拉取代码') { steps { dir("./"){ git credentialsId: 'ddd88470-e818-44d1-b995-b66873574626', url: 'http://git.vphotos.cn/zhuqiyang/infra_example1.git' } sh "ls -al" } } } }
指定分支:
git branch: 'master', credentialsId: 'ddd88470-e818-44d1-b995-b66873574626', url: 'http://git.vphotos.cn/zhuqiyang/infra_example1.git'
pipeline脚本示例:
#!groovy pipeline { agent any environment { IMAGE="dockerrepos.vphotos.cn/test/test_infra_example1" } stages { stage('拉取代码') { steps { dir("./"){ git ( branch: 'master', credentialsId: 'ddd88470-e818-44d1-b995-b66873574626', url: 'http://git.vphotos.cn/zhuqiyang/infra_example1.git', changelog: 'true' ) } } } stage('构建镜像'){ steps{ sh "ls -al" dir("./docker"){ sh ''' VERSION=$(git rev-parse --short HEAD) echo $VERSION docker build -t ${IMAGE}:${VERSION} . docker push ${IMAGE}:${VERSION} docker rmi ${IMAGE}:${VERSION} ''' } } } } }
try-catch:加上try-catch之后如果try中的语句出错就会被catch捕获输出错误信息,而不会终止程序
script{ try{ gradleHome = tool "GRADLE" sh """ ${gradleHome}/bin/gradle -v """ }catch(e){ println(e) } }