工作空间临时目录作用
jenkins在进行项目编译的时候会在工作空间下创建一些临时目录 这些临时目录在编译和部署期间不能删除 只能在流水线最后阶段删除
在流水线执行中间阶段删除的话 会导致访问不了编译后的文件
groovy脚本中引入jenkins内置变量 "${workspace}/register-center/target“
删除AppServiceProject@tmp目录后 然后再执行远程拷贝jar包的时候就会提示访问不到相关jar包
把清空临时目录的操作移动到流水线的最后步骤后就可以远程拷贝包
environment{…}, 大括号里面写一些键值对,也就是定义一些变量并赋值,这些变量就是环境变量。环境变量的作用范围,取决你environment{…}所写的位置,你可以写在顶层环境变量,让所有的stage下的step共享这些变量,也可以单独定义在某一个stage下,只能供这个stage去调用变量,其他的stage不能共享这些变量
dir()方法:就是改变当前的工作目录,在dir语句块里执行的其他路径或者相对路径
deleteDir()方法:默认递归删除WORKSPACE下的文件和文件夹,没有参数
Pipeline异常处理
stage("Build"){ steps { script { javahome = tool "Java1" //sh "echo '***************************************************'" //sh "${javahome}/bin/java -version" //sh "export JAVA_HOME=${javahome}" mvnhome = tool "M2" //sh "${mvnhome}/bin/mvn clean install -Dmaven.test.skip=true" sh "${mvnhome}/bin/mvn -Pdev clean -DskipTests=true install" try { sh "${srcPath}/mvn-sonar.sh" } catch (Exception err){ print("代码覆盖率检查失败") } } } post { success { print("Build success......") } } } stage("Build Image"){ steps { script { mytools.create_dockerimage("${workspace}/register-center/target/register-center-dev.jar","${clusterPath}","register-center-dev.jar","taishiganzhi","register-center") mytools.create_dockerimage("${workspace}/config-center/target/config-center-dev.jar","${clusterPath}","config-center-dev.jar","taishiganzhi","config-center") mytools.create_dockerimage("${workspace}/gateway-zuul/target/gateway-zuul-dev.jar","${clusterPath}","gateway-zuul-dev.jar","taishiganzhi","gateway-zuul") mytools.create_dockerimage("${workspace}/admin/target/admin-dev.jar","${clusterPath}","admin-dev.jar","taishiganzhi","admin") mytools.create_dockerimage("${workspace}/bizapp/sdc-collect-config/target/sdc-collect-config-dev.jar","${clusterPath}","sdc-collect-config-dev.jar","taishiganzhi","sdc-collect-config") mytools.create_dockerimage("${workspace}/bizapp/sdc-rule-config/target/sdc-rule-config-dev.jar","${clusterPath}","sdc-rule-config-dev.jar","taishiganzhi","sdc-rule-config") mytools.create_dockerimage("${workspace}/bizapp/sdc-es-service/target/sdc-es-service-dev.jar","${clusterPath}","sdc-es-service-dev.jar","taishiganzhi","sdc-es-service") } } post { success { print("Build image success......") } } }