通过 Eclipse 插件控制将哪个 GIT 分支部署到 AWS ElasticBeanstalk
Posted
技术标签:
【中文标题】通过 Eclipse 插件控制将哪个 GIT 分支部署到 AWS ElasticBeanstalk【英文标题】:Controlling Which GIT Branch is Deployed to AWS ElasticBeanstalk via Eclipse Plugin 【发布时间】:2013-11-05 13:00:36 【问题描述】:我正在使用 GIT 和功能分支工作流程进行本地开发。我还使用 AWS SDK / Eclipse 插件将我的应用程序部署到我的 ElasticBeanstalk Tomcat 服务器。最近我遇到了一个问题,我添加到我的代码库中的新 Java 类没有被部署到 ElasticBeanstalk(即,编译的类文件没有被上传到远程 Tomcat 部署目录)。
经过一番调查,我发现插件似乎在使用这个 jar 作为部署过程的一部分:
/eclpise installation path/plugins/com.amazonaws.eclipse.elasticbeanstalk_1.0.0.v201310211406/lib/jgit/jgit-1.3.0-aws-git-push.jar
但我在 Eclipse 中找不到任何指定应该为部署选择哪个 GIT 分支的设置。
最终我通过删除本地和远程暂存目录并取消选中 Eclipse 中我的 ElasticBeanstalk 环境配置中的“增量部署”复选框解决了我的问题,但我想更好地了解插件如何选择要部署的文件以便我可以以后避免这种混乱。
【问题讨论】:
【参考方案1】:Eclipse 工具使用 Git 存储库将增量更改部署到 AWS Elastic Beanstalk,但它们使用的 Git 存储库与您用来管理源代码的存储库不同。由于 Eclipse 工具包需要将已编译的工件部署到 AWS Elastic Beanstalk,因此它只为那些已编译的工件管理一个单独的定位 Git 存储库。存储库具有分解的 WAR 文件的结构。如果你真的想看的话,你可以在 Eclipse 的 .metadata 目录下找到这个 repo。
所以,简短的回答是...... Eclipse 应该部署您在工作区中拥有的任何代码。如果您已切换到源代码 Git 存储库中的特定分支,那么它应该正在部署该代码。您还可以查看项目的部署程序集属性。这些描述了如何将您的 Web 项目转换为 WAR 文件,这正是 Eclipse 工具包在将项目推送到 AWS Elastic Beanstalk 之前用来编译项目的方法。如果这仍然与您看到的行为不符,请告诉我们,我们可以尝试调试您遇到的任何其他问题。
【讨论】:
JasonFulghum 感谢您的回复。这周我需要完成一些事情,但我会进行试验,看看是否可以重现问题,如果可以,我会在下周初回复步骤和配置。以上是关于通过 Eclipse 插件控制将哪个 GIT 分支部署到 AWS ElasticBeanstalk的主要内容,如果未能解决你的问题,请参考以下文章
Eclipse中git插件导入远程库和上传项目源代码到远程库