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 test
、mvn verify
和mvn deploy
... 但是:每个阶段都有自己的checkout 目录,因此,最后阶段必须完成整个 maven 生命周期才能再次部署,包括测试和验证......
将 maven 映射到竹子的好方法是什么?我没有找到任何这样的示例配置。以前有没有人以连贯的方式做到这一点?或者我应该将测试内容从 pom.xml 移动到直接配置的 Bamboo 作业中?
【问题讨论】:
【参考方案1】:从我使用 Bamboo 的阶段来看,在构建方面是独立的实体,每个实体在服务器上都有不同的文件夹。但是,您可以在不同阶段之间共享构建的工件。
Configuring artifact sharing between jobs
这样你就可以使用 deploy 阶段从 Bamboo 中的 package 阶段获取 jar。
【讨论】:
以上是关于Bamboo 阶段和 Maven 生命周期的主要内容,如果未能解决你的问题,请参考以下文章