1

我正在使用 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 环境配置中的“增量部署”复选框解决了我的问题,但我想更好地了解插件如何选择要部署的文件,这样我就可以避免这种混乱在将来。

4

1 回答 1

2

Eclipse 工具使用 Git 存储库将增量更改部署到 AWS Elastic Beanstalk,但它们不使用与您用于管理源代码的相同的 Git 存储库。由于 Eclipse 工具包需要将已编译的工件部署到 AWS Elastic Beanstalk,因此它只为那些已编译的工件管理一个单独的定位 Git 存储库。存储库具有分解的 WAR 文件的结构。如果你真的想看的话,你可以在 Eclipse 的 .metadata 目录下找到这个 repo。

所以,简短的回答是...... Eclipse 应该部署您在工作区中拥有的任何代码。如果您已切换到源代码 Git 存储库中的特定分支,那么它应该正在部署该代码。您还可以查看项目的部署程序集属性。这些描述了如何将您的 Web 项目转换为 WAR 文件,这正是 Eclipse 工具包在将项目推送到 AWS Elastic Beanstalk 之前用来编译项目的方法。如果这仍然与您看到的行为不符,请告诉我们,我们可以尝试调试您遇到的任何其他问题。

于 2013-10-30T17:57:33.603 回答