【发布时间】:2018-01-29 01:27:54
【问题描述】:
我正在使用 Bamboo CICD 管道使用 maven 版本构建和部署 Spring Boot jar。构建工作正常,并创建了一个 spring boot jar。由于 maven 版本在每次运行后都会更新 jar 版本,因此我无法在竹管道的下一阶段使用此 jar。
我浏览了 Atlassian 和 Stackoverflow 中的竹文档和讨论论坛,但无法获得所需的解决方案。我尝试使用“工件下载”任务在下一阶段获取工件,但无法使用它,因为 jar 版本总是变化。
我尝试在部署步骤(命令任务 - 参数字段)中使用正则表达式(例如 target/*.war)获取共享工件文件,但猜测竹子无法执行正则表达式。它给出了以下错误消息。
不正确的用法:指定的路径'target/
*.war'不存在。
如果我给出正确的名称,例如 target/appname-0.0.1-snapshot.war,竹子就能找到 war 文件并成功部署。
有没有什么方法可以在后续阶段获得准确的战争或 jar 名称,而无需在每次运行后手动更新?对此的任何帮助将不胜感激。
【问题讨论】:
-
我想到了两件事。您可以使用竹变量分配给生成的war文件,然后在另一个任务中重命名它,或者您可以配置maven以生成具有相同名称的war文件而没有版本。请参阅有关 maven 配置的此线程以供参考:stackoverflow.com/questions/9593473/…
-
嗨@JorgeCampos,感谢您的回复。我已经浏览了参考链接,但在我的情况下需要版本,因为我们正在将工件推送到 nexus 存储库。您能否对第一个选项进行更多解释或提供一些参考链接(如果可能)?我知道我们可以在计划的“变量”部分为竹变量分配静态值,但是有什么方法可以将战争文件名分配给竹变量并在下一阶段使用它?
标签: maven spring-boot bamboo maven-release-plugin bamboo-artifacts