关于spring boot:使用maven-release后无法在bamboo中部署spring boot jar
Unable to deploy springboot jar in bamboo after using maven-release
我正在使用 Bamboo CICD 管道使用 maven 版本构建和部署 Spring Boot jar。构建工作正常,并创建了一个 spring boot jar。由于 maven 版本在每次运行后都会更新 jar 版本,因此我无法在竹管道的下一阶段使用此 jar。
我浏览了 Atlassian 和 Stackoverflow 中的竹文档和讨论论坛,但无法获得所需的解决方案。我尝试使用"工件下载"任务在下一阶段获取工件,但无法使用它,因为 jar 版本总是变化。
我尝试在部署步骤(命令任务 - 参数字段)中使用正则表达式(例如 target/*.war)获取共享工件文件,但猜测竹子无法执行正则表达式。它给出以下错误消息。
Incorrect Usage: The specified path 'target/*.war' does not exist.
如果我给出正确的名称,例如 target/appname-0.0.1-snapshot.war,竹子就能找到 war 文件并成功部署它。
有没有什么方法可以在后续阶段获得准确的 war 或 jar 名称,而无需在每次运行后手动更新?对此的任何帮助将不胜感激。
相关讨论
- 想到了两件事。您可以使用竹变量分配给生成的war文件,然后在另一个任务中重命名它,或者您可以配置maven以生成具有相同名称但没有版本的war文件。请参阅有关 maven 配置的此线程以供参考:stackoverflow.com/questions/9593473/...
- 嗨@JorgeCampos,感谢您的回复。我已经浏览了参考链接,但在我的情况下需要版本,因为我们正在将工件推送到 nexus 存储库。您能否对第一个选项进行更多解释或提供一些参考链接(如果可能)?我知道我们可以在计划的"变量"部分为竹变量分配静态值,但是有什么方法可以将 war 文件名分配给竹变量并在下一阶段使用它?
你也可以试试 Maven POM Value Extractor 插件。这个插件提供了一个构建任务,它从 Maven POM 中提取值并使用这些值设置构建变量。这使您可以使 Bamboo 变量与 Maven POM 保持同步。
您可以自动提取工件的 GAV(GroupId、Artifact、Version)。
正则表达式在命令任务中不起作用,但我能够通过使用竹脚本任务解决此问题。正则表达式工作正常,target/*.war 已正确解析。
THE END
二维码