本篇blog用来总结和记录我在学习与工作中写jenkinsfile的经验和最佳实践。
使用中使用全局环境变量替换静态URL
场景:你的公司使用git作为代码仓库,你的Jenkins pipeline作为项目源代码的一部分保存在git当中,pipeline中有静态的URL地址,如:
git(
url: https://git.mycompany.com/project/repository.git,
branch: env.target_branch,
credentialsId: env.git_auth_id,
changelog: true
)
你的pipeline作为code保存在git服务器上,然而当你维护的pipeline数量非常多的时候(数千),突然你的公司域名变化了,或者你git服务器的域名需要变化,而且原来的域名不能使用了。你需要将你pipeline中的域名修改为新的域名。此时,数百项目的数千个pipeline需要修改,悲催了。。。
虽然更换域名的可能性比较小,但是我真的遇到了。
所以将pipeline中的通用的静态的如公司域名这种,改为使用全局变量(Environment variables)。配置方法:Manage Jenkins -> Configure System -> Global properties-> Environment variables 。当需要修改时,你只需要修改这个变量的值就OK了。
总结:pipeline中通用的,静态的配置,尽量使用jenkins环境变量替代。