Bamboo 阶段和 Maven 生命周期

Posted

技术标签:

【中文标题】Bamboo 阶段和 Maven 生命周期【英文标题】:Bamboo Stages and the Maven Lifecycle 【发布时间】:2012-01-11 12:38:43 【问题描述】:

假设我有一个非常标准的基于 maven 的 java 项目,它使用了几乎所有的 maven 生命周期。在compile 上编译,在test 上使用JUnit 测试用例,在integration-test / verify 上使用自动启动和停止的码头进行集成测试,在deploy 上部署到我们的内部maven repo。基本的东西。

这也作为构建计划在我们的 Bamboo 服务器上运行。目前,只有一个阶段,一个作业,一个任务,执行mvn clean deploy。这确保了我们 repo 上的 SNAPSHOT 始终是源代码控制中的最后一个版本,该版本可以在没有测试失败的情况下进行编译。

现在,我的感觉是 Bamboo 可以做得更多......如果所有的事情都在一个单独的任务中处理,那么所有的阶段和任务和东西是什么?所以我想,也许这可能是一个“测试”阶段、一个“集成测试”阶段和一个“部署”阶段,它们执行mvn testmvn verifymvn deploy... 但是:每个阶段都有自己的checkout 目录,因此,最后阶段必须完成整个 maven 生命周期才能再次部署,包括测试和验证......

将 maven 映射到竹子的好方法是什么?我没有找到任何这样的示例配置。以前有没有人以连贯的方式做到这一点?或者我应该将测试内容从 pom.xml 移动到直接配置的 Bamboo 作业中?

【问题讨论】:

【参考方案1】:

从我使用 Bamboo 的阶段来看,在构建方面是独立的实体,每个实体在服务器上都有不同的文件夹。但是,您可以在不同阶段之间共享构建的工件。

Configuring artifact sharing between jobs

这样你就可以使用 deploy 阶段从 Bamboo 中的 package 阶段获取 jar。

【讨论】:

以上是关于Bamboo 阶段和 Maven 生命周期的主要内容,如果未能解决你的问题,请参考以下文章

Maven的生命周期阶段

Maven实战生命周期

maven入门maven的生命周期

Maven实战生命周期

笔记:Maven 生命周期与命令行详解

Maven生命周期