intellij:如何部署到两个文件夹?

时间:2017-07-20 19:44:49

标签: php intellij-idea deployment composer-php

一般问题是:如何在一个intellij项目中同时使用许多不同的git repos。 git repos需要在主应用程序内部(也就是一个git repo)。我不能使用符号链接,因为我无法提交

我有2个git repos

一个用于主应用程序,另一个用于我在几个项目中使用的库。

这是怎么回事:我有主应用程序。通过作曲家,我将我的库/包添加到应用程序中。

问题:

文件夹结构:

开发

IdeaProjects/myappA

注意:还有IdeaProjects myappB

IdeaProjects/mylib

在myappA中有

IdeaProjects/myappA/vendor/mylib

服务器部署文件夹:

/var/www/www.myappA.com/

我对库进行了大量的更改,当我处理myappA时,我将其作为另一个模块打开,因此我对该文件夹中的mylib进行了代码更改/ module实际上包含mylib的原始源代码。现在我不希望每次做一个微小的改变时都能安装或更新作曲家。所以我所做的就是每次通过intellij从库mylib部署文件,直接保存到我的主应用程序的composer安装文件夹中,例如到IdeaProjects/myappA/vendor/mylib。现在的问题是,我需要将以及部署到服务器部署文件夹。但似乎无法使用intellij将文件部署到两个开箱即用的文件夹中。

我还能做什么?

目前我手动使用短键触发ant构建,然后将文件夹IdeaProjects/myappA/vendor/mylib复制到服务器部署目录。

2 个答案:

答案 0 :(得分:4)

根据您的设置,有多种解决方案:

intellij中的

解决方案:只需将mylib作为myapp项目中的模块导入 转到File > Project Settings > Modules,点击+,然后选择import module import module

git native解决方案:使用submodules

  

子模块允许您将Git存储库保存为另一个Git存储库的子目录。这使您可以将另一个存储库克隆到项目中,并使您的提交保持独立。

请注意,使用子模块时存在一些怪癖,尤其是使引用的子模块保持最新的方式

为了完整性:如果您使用gradle或maven而不是ant,则可以使用各自的项目视图并使用+添加多个build.gradle或pom.xml文件,这些文件会自动导入这些项目作为intellij的模块。

答案 1 :(得分:0)

我认为模块方法确实适合您的情况,是的,您可以为每个模块使用不同的git repo。右键单击项目根目录new->modulefile->new module from existing source

如果您检查Settings | Version Control您应该看到列表,Intellij还应该自动检测项目中的每个git存储库。

您还可以加快某些操作,例如git pull,而不必从每个存储库(VCS -> Git -> Pull)提取VCS -> Update Projectctrl-t({{1}在mac上)