Groovy学习

发布时间 2023-12-06 17:15:14作者: 东行天下

一、数据类型

下面的是内置数据类型,一旦定义后无法修改变量类型

1 byte -这是用来表示字节值。例如2。
2 short -这是用来表示一个短整型。例如10。
3 int -这是用来表示整数。例如1234。
4 long -这是用来表示一个长整型。例如10000090。
5 float -这是用来表示32位浮点数。例如12.346 double -这是用来表示64位浮点数,这些数字是有时可能需要的更长的十进制数表示。例如12.34565657 char -这定义了单个字符文字。例如“A”。
8 Boolean -这表示一个布尔值,可以是true或false。
9 String -这些是以字符串的形式表示的文本。例如,“Hello World”。

def -- 定义任意变量类型的关键字

二、常用方法

 1 job_name = "devops05-app-service_CI"
 2 
 3 // ["devops05", "app", "service_CI"]
 4 bu_name = job_name.split('-')[0]
 5 println(bu_name)  //devops05
 6 // contains
 7 println(job_name.contains("CI")) //true
 8 
 9 //size/length
10 println("size: ${job_name.size()}")
11 println("length: ${job_name.length()}")
12 
13 //endsWith()
14 println("enswith CI: ${job_name.endsWith('CI')}") //true

//List tools = ["gitlab", "jenkins", "maven", "sonar"] pipeline { agent any stages{ stage("run"){ steps{ script{ // script println(tools) // add println(tools + "k8s") println(tools) println(tools << "ansible") //改变原对象 println(tools) println(tools - "maven") println(tools) tools.add("maven") println(tools) println(tools.getClass()) // contains println(tools.contains("jenkins")) // length println(tools.size()) // index println(tools[0]) println(tools[-1]) } } } } }

  

 

map

//Map
user_info = ["id": 100, "name": "jenkins"]

pipeline {
	agent any

	stages{
		stage("run"){
			steps{
				script{
					// script 
					println(user_info)

					// get name
					println(user_info["name"])
					println(user_info["id"])

					// = 
					user_info["name"] = "jenkinsX"
					println(user_info)

					// key
					println(user_info.containsKey("name"))
				    println(user_info.containsValue(100))

				    // keys
				    println(user_info.keySet()) 

				    // remove
				    user_info.remove("name")
				    println(user_info)

				}
			}
		}
	}
}

  

 三、条件语句

1.if/else

//if 
// dev == dev  stag == master
branchName = "dev"

pipeline {
	agent any

	stages{
		stage("run"){
			steps{
				script {
					// script
					currentBuild.displayName = branchName

					if ( branchName == "dev"){
						println("deploy to dev....")
						currentBuild.description = "deploy to dev...."

					} else if (branchName == "master"){
						println("deploy to stag....")
						currentBuild.description = "deploy to stag...."
					} else {
						currentBuild.description = "error..."
						println("error...")
					}
				}
			}
		}
	}
}

2.switch

//switch

// dev == dev  stag == master

branchName = "dev"


pipeline {
	agent any

	stages{
		stage("run"){
			steps{
				script {
					// script

					currentBuild.displayName = branchName

					switch(branchName) {
						case "dev":
							println("deploy to dev....")
							currentBuild.description = "deploy to dev...."	
							break

						case "master":
							println("deploy to stag....")
							currentBuild.description = "deploy to stag...."
							break

						default:
							currentBuild.description = "error..."
							println("error...")
							break

					}
				}
			}
		}
	}
}