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)
}
}