使用AWS CodePipeline {Jen}在Jenkins中构建多个Gradle项目

时间:2017-10-06 21:45:27

标签: github jenkins gradle amazon-elastic-beanstalk aws-codepipeline

我有一个Gradle项目,包含一个主项目和另外两个包含includeFlat指令的项目。这三个项目中的每一个都在GitHub上有自己的回购。为了构建它,我将所有3个项目检入一个公共顶层文件夹,然后cd检入主项目并运行gradle build。而且效果很好!

现在我需要将生成的应用程序部署到AWS EB(Elastic Beanstalk),这在我本地生成工件然后手动部署时也很有用。我想自动化这个过程,所以我尝试使用CodePipelines + Jenkins进行设置,如this document中针对Gradle调整的那样。

问题在于,如果我在管道中指定3个Source,我最终会将我的项目提取到彼此之上,从而在Jenkins工作区中创建一个混乱。我需要以某种方式将每个项目配置为输出到Jenkins工作区内的自己的目录,我只是看不到这样做的方法(至少在UI中)

然后,当然,即使我实现了我想要的东西,我也需要以某种方式cd进入主目录运行gradle build再次我不知道该怎么做

P.S。来自@Phil的好建议但不幸的是似乎CodePipeline does not currently support Git子模块或子树

1 个答案:

答案 0 :(得分:0)

当3个回购中的任何一个发生变化时,我会开始共同构建。假设延迟时间为5分钟,即使更改被引入到一个回购中,也可以进行单一构建。

除了使用eb deploy ...旧方式之外,我看不到以其他方式处理部署的好方法...请在你的jenkins机器上安装aws工具。在成功构建时触发创建部署作业。并将bash脚本放在那里进行部署。请提供有关部署的更多详细信息,这样我就可以帮助部署脚本。