jenkins build pipeline plugin与parameterized传参冲突
2012-05-13 22:51
435 查看
build pipeline plugin是持续集成服务器Jenins的插件,最近发现build pipeline在传参数过程中,再出现参数重名的情况下,此插件会用down stream的参数去覆盖up stream的参数。
/** * Given an Upstream AbstractBuild and a Downstream AbstractProject will retrieve the associated ParametersAction. * This will result in parameters from the upstream build not overriding parameters on the downstream project. * @param upstreamBuild - The AbstractBuild * @param downstreamProject - The AbstractProject * @return - AbstractBuild's ParametersAction */ public static Action getAllBuildParametersAction(AbstractBuild<?, ?> upstreamBuild, AbstractProject<?, ?> downstreamProject) { // Retrieve the List of Actions from the downstream project final ParametersAction dsProjectParametersAction = ProjectUtil.getProjectParametersAction(downstreamProject); // Retrieve the List of Actions from the upstream build final ParametersAction usBuildParametersAction = BuildUtil.getBuildParametersAction(upstreamBuild); return mergeParameters(usBuildParametersAction, dsProjectParametersAction); }
/** * Merges two sets of ParametersAction * @param base ParametersAction set 1 * @param overlay ParametersAction set 2 * @return - Single set of ParametersAction */ public static ParametersAction mergeParameters(ParametersAction base, ParametersAction overlay) { final LinkedHashMap<String, ParameterValue> params = new LinkedHashMap<String, ParameterValue>(); if (base != null) { for (ParameterValue param : base.getParameters()) { params.put(param.getName(), param); } } if (overlay != null) { for (ParameterValue param : overlay.getParameters()) { params.put(param.getName(), param); } } return new ParametersAction(params.values().toArray(new ParameterValue[params.size()])); }
相关文章推荐
- Jenkins Build Pipeline plugin权限bug
- jenkins插件之Build Pipeline Plugin和Delivery Pipeline Plugin
- Jenkins常用插件之MSBuild Plugin
- 使用 Build Pipeline View 插件图表展示Jenkins job依赖关系
- Top 10 Best Practices for Jenkins Pipeline Plugin
- enkins 利用Build With Parameters Plugin实现Jenkins参数化构建
- Jenkins常用插件之MSBuild Plugin
- jenkins 安装,配置 和 运行 & Build Pipeline 插件的使用
- Jenkins Build Pipeline View点击Job跳转到具体某个build中
- Jenkins安装plugin
- 使用Jenkins Pipeline插件和Docker打造容器化构建环境
- Jenkins中Git Plugin配置的几个小问题
- Jenkins安装plugin
- Jenkins-自定义Plugin创建
- 为jenkins的每个build设置description
- Could not calculate build plan: Plugin org.apache.maven.plugins:maven-war-plugin:2.1.1 or one of
- 如何使用Jenkins的Pipeline与Jenkinsfile结合实现自动化部署
- 【maven】ecplise新建maven项目 报错Could not calculate build plan: Plugin org.apache.maven.plugins:maven-resources-plugin
- Jenkins 在声明式 pipeline 中并行执行任务
- Could not calculate build plan: Plugin org.apache.maven.plugins:maven-resources-plugin:2.5 or one of