项目要求,根据svn选择的trunk或branches及tags里的各分支,动态选择参数。一开始认为很简单,直接用jenkins中的List Subversion tags插件及active choices即可完成,但实际操作后发现傻眼了,List Subversion的参数与active choices不与关联....-_-
没办法,只能全套使用Active choice插件才能关联。因此:
最初方法一:
使用active choices Parameter加active choices reactive Parameter来配合,配置如下
active choices reactive Parameter中通过groovy脚本调用svn list命令来实现,如下
感觉应该没问题,但在实际构建时,发现该方案不行,关联参数显示太慢,太影响用户使用了。该方案丢弃
怎么样才能问题显示关联参数呢。在想了几天后,决定另辟蹊径,麻烦一次,方便N次
思路如下,选取svn list时,通过文件来读取,文件的生成可以用后台shell脚本,读文件麻烦,可以写个http服务器,访问快稳定
解决方法二:
1、用shell调用svn list命令将结果写在文件中
2、用python写个服务器
3、jenkins配置如下
再配合active choices reactive parameter关联version参数做判断即可
这样做的好处就是在jenkins上构建时显示速度快,只需将shell脚本加入crontab中,即可