intellij: how to deploy to two folders?

Refresh

November 2018

Views

95 time

3

The general question is: how to work with many different git repos at the same time in one intellij project. Where the git repos need to be inside the main application (that is one git repo too). I cannot use symlinks because I cannot commit those

I have 2 git repos

one is for the main app, the other one is for a library I am using in several projects.

Here is how it goes: I have the main app. Via composer I add my library / package to the application.

The problem:

folder structure:

to develop

IdeaProjects/myappA

note: there is are as well IdeaProjects myappB etc

IdeaProjects/mylib

in myappA there is

IdeaProjects/myappA/vendor/mylib

server deploy folder:

/var/www/www.myappA.com/

I do a lot of changes to the library, I have it open as another module when I work on myappA so I do code changes to mylib in that folder / module that actually contains the original source code of mylib. Now i don't want to composer install or update each time I do a tiny change. So what I do is I deploy via intellij the files from the library mylib each time on save directly into the composer install folder of my main application e.g. to IdeaProjects/myappA/vendor/mylib. Now the problem is, I need to deploy it as well to the server deployment folder. But there seems no way to deploy files to two folders out of the box with intellij.

What else can I do?

currently I manually use a short key to trigger an ant build that then copies the folder IdeaProjects/myappA/vendor/mylib to the server deployment directory.

2 answers

4

Есть несколько решений в зависимости от вашей установки:

Решение в IntelliJ: просто импортировать MyLib как модуль внутри вашего проекта MYAPP Перейти к File > Project Settings > Modules, нажмите +и выберитеimport module модуль импорта

мерзавец родное решение: Используйте подмодулях

Подмодули позволяют сохранить репозиторий как подкаталог другого репозитория Git. Это позволяет клонировать другой репозиторий в свой проект и сохранить ваши коммиты отдельно.

Обратите внимание, что существует некоторые особенности при работе с подмодулями, особенно способ сохранить ссылки подмодулей уточненного

Для полноты картины : если вы использовали Gradle или Maven вместо муравьев, вы могли бы использовать свои мнения соответствующих проектов и использовать +для добавления несколько build.gradle или pom.xml файлов, которые будут автоматически импортировать эти проекты в качестве модулей в IntelliJ.

0

Я думаю , что модульный подход действительно соответствует вашему делу и да , вы можете иметь различные GIT репозитория для каждого модуля. Щелкните правой кнопкой мыши на корневом каталоге проекта new->moduleилиfile->new module from existing source

Intellij должны также обнаружить каждый репозиторий Git автоматически в вашем проекте , если вы проверяете Settings | Version Controlвы должны увидеть список.

Вы можете также ускорить некоторые операции , такие как , git pullвместо того , чтобы вытащить из каждого хранилища ( VCS -> Git -> Pull) вы можете сделать VCS -> Update Projectили ctrl-t( cmd-tна Mac)