【问题标题】:Unable to deploy springboot jar in bamboo after using maven-release使用 maven-release 后无法在竹子中部署 springboot jar
【发布时间】: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


【解决方案1】:

正则表达式在命令任务中不起作用,但我能够通过使用竹脚本任务解决此问题。正则表达式工作正常,target/*.war 已正确解析。

【讨论】:

    【解决方案2】:

    你也可以试试Maven POM Value Extractor插件。这个插件提供了一个构建任务,它从 Maven POM 中提取值并使用这些值设置构建变量。这使您可以使 Bamboo 变量与 Maven POM 保持同步。

    您可以自动提取工件的 GAV(GroupId、Artifact、Version)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-28
      • 2011-09-12
      • 2011-02-22
      • 1970-01-01
      • 1970-01-01
      • 2011-01-15
      • 2018-05-29
      • 2021-05-03
      相关资源
      最近更新 更多