我正在使用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环境配置中的“增量部署”复选框来解决我的问题,但我想更好地了解插件如何选择要部署的文件,以便我可以在将来避免这种混乱。
答案 0 :(得分:2)
Eclipse工具使用Git存储库将增量更改部署到AWS Elastic Beanstalk,但它们不使用与您用于管理源代码的Git存储库相同的Git存储库。由于Eclipse工具包需要将已编译的工件部署到AWS Elastic Beanstalk,因此它仅针对那些已编译的工件管理单独的定位Git存储库。 repo具有爆炸的WAR文件的结构。如果你真的想看到它,你可以在Eclipse的.metadata目录下找到这个repo。
因此,简短的回答是...... Eclipse应该部署您工作区中的任何代码。如果您已切换到源代码Git repo中的特定分支,那么它应该部署该代码。您还可以查看项目的Deployment Assembly属性。这些描述了如何将Web项目转换为WAR文件,这正是Eclipse工具包在将项目推送到AWS Elastic Beanstalk之前用于编译项目的内容。如果仍然不符合您所看到的行为,请告诉我们,我们可以尝试调试您遇到的任何其他问题。