【发布时间】:2015-08-04 14:09:45
【问题描述】:
我在组织开发环境方面遇到了严重的问题(!!!);
我有两个应用程序:app1 和 app2。这个应用程序是使用 OpenUI5 编写的(但这个细节并不重要)
app1 和 app2 相似并且共享一些代码(例如登录代码)。 我将 git(带有 git-flow)与两个远程仓库一起使用,并且我有所有相同的代码重复。 现在我想优化我的开发流程共享平等代码(登录代码)。
这是我的第一个想法:只有一个 repo 包含我在这种类型结构中的所有代码:
repo
|_____share
| |____login.js
|
|_____app1
| |_____index.html
| |_____resources
| |_________util1.js
|_____app2
|_____index.html
|_____resources
|_________util2.js
我有两个时间状态:
- 每个 index.html 使用
resources/utilX.js和../share/login.js的开发时间 - 每个 index.html 使用
resources/utilX.js和resources/login.js的发布时间
好!我可以为每个应用程序创建(使用 grunt?)RELEASE;例如 RELEASE 的结果是
app1
|_____index.html
|_____resources
|_________util1.js
|_________login.js.js
我可以将 app1 文件夹推送到我的服务器,它工作正常!
但现在我有些怀疑:
- 使用 git-flow 我有 master 和 develop 分支;只有一个 repo 我只有一个 masters,因此当在 app1 上我想要发布时,我必须用新版本标记完整的 master。我不喜欢,我想要两个拥有自己号码版本的应用
- 最好有两个单独的 repo (repo_app1 & repo_app2)?在这种情况下,共享文件在哪里?
- 在其他(编译的)语言中,我可以创建发布版本,而只有应用程序的编译文件。 Grunt 是准备应用文件夹推送到我的服务器上的正确方法吗?
【问题讨论】: