首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >持续集成/部署-基于2个Git存储库的MEAN Stack项目

持续集成/部署-基于2个Git存储库的MEAN Stack项目
EN

Stack Overflow用户
提问于 2015-07-18 13:12:43
回答 1查看 360关注 0票数 0

我正在使用MEAN Stack开始一个新项目。前端和后端位于两个不同的git存储库中,托管在bitBucket上。每个项目/存储库都有自己的单元/e2e测试。后端是Restful JSON API,前端是AngularJS SPA。前端项目中提供了一个grunt任务,用于输出客户端代码的优化/精简版本。

我的想法是,首先在客户端的代码上运行单元/e2e测试,然后是"grunt deploy“任务,然后以某种方式自动将这个grunt任务的结果提交到后端项目/git repo中,运行后端代码的单元测试,最后在Amazon上部署后端项目。

我不太确定如何在Travis或Codeship等平台上设置这种项目,因为它使用2个GIT repo而不是1个……

如果任何人对这样的设置有任何经验/建议,将不胜感激。

干杯,

尼科

EN

回答 1

Stack Overflow用户

发布于 2015-07-20 14:25:05

尽可能避免手工制作的解决方案,例如跨存储库复制/提交文件-这只会导致痛苦和维护噩梦。为此,请使用标准工具。

处理这些依赖关系的标准方法是使用依赖关系管理工具。在后端,您通常使用npm完成此操作,您可能已经很熟悉了-您可能正在使用它来引入诸如Grunt之类的构建工具。

在构建前端应用程序时,通常使用Bower

使用Bower,您可以定义一个bower.json文件并在其中列出您的依赖项。在您的示例中,两个项目中都需要一个bower.json文件:

  • 在前端项目中,bower.json文件定义包的名称、版本及其最重要的文件等。
  • 在后端项目中,bower.json文件定义依赖项,即前端项目。

在定义对前端项目的依赖时,您可以将其指向Bower注册表中的公共可用包(例如Angular),或者指向Git repo (这可能就是您正在寻找的)。你可以将它指向Git标签(例如#1.2.3),或者指向一个Git分支(例如#master)。如果你不想,你不需要在公共Bower注册表中注册你的包。

您需要在后端项目中包含bower install作为额外的构建步骤,最好是在运行npm install之后。

同样,尽量避免变通,尽量坚持使用标准工具。将你的工作分成两个独立的Git代码库是非常好的,这是保持项目规模可控的一个很好的做法--你只需要使用正确的工具来完成任务。

以下是Bower入门的一些教程链接:

  • http://code.tutsplus.com/tutorials/how-to-setup-bower-in-your-next-project--cms-20526
  • http://blog.teamtreehouse.com/getting-started-bower
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31488029

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档