github - 使用 AWS CodePipeline 在 Jenkins 中构建多个 Gradle 项目

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

我有一个 Gradle 项目,它由一个主项目和另外两个项目组成,其中包括使用 includeFlat指示。这 3 个项目中的每一个在 GitHub 上都有自己的存储库。为了构建它,我将所有 3 个项目 check out 到一个公共(public)的顶级文件夹中,然后 cd进入主项目并运行gradle build .而且效果很好!

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

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

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

附言@Phil 提出了很好的建议,但不幸的是 CodePipeline does not currently support Git 子模块或子树

最佳答案

当 3 个存储库中的任何一个发生更改时,我将开始共同构建。假设有 5 分钟的延迟,即使对不止一个 repo 进行了更改,也可以进行单个构建。

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

关于github - 使用 AWS CodePipeline 在 Jenkins 中构建多个 Gradle 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46614349/

相关文章:

java - 运行 JUnit 测试有效,但 Gradle 测试无效。怎么修?

python - 在requirements.txt中包含python版本吗?

git - 我们真的需要在 Git 中分支吗?

maven-2 - 配置一个 hudson maven 作业以在测试失败时继续构建,但仅在没有测试失败时部署

java - Jenkins通过脚本而不是Maven Goal运行maven项目

maven - 我可以使用要部署到 Nexus 的 Gradle maven 插件创建仅 Maven POM (BOM) 构建吗?

git - 使用 Netbeans IDE 设置 GitHub Repo

github - 如何将 github 项目从一个存储库转移到另一个存储库

android - Robolectric 2.x + Jenkins 上的 Maven 因 APKLIB 依赖项而失败

java - 如何在 Spring Boot 中一起使用 auth0 和 swagger?