Я использую Amazon Elastic Beanstalk для развертывания своего приложения через Git, и у меня есть подмодули в моем Git. Конечно, когда я смотрю на каталоги, в которых должны находиться данные для подмодулей, там ничего нет, потому что подмодули не были инициализированы.
Очевидно, Elastic Beanstalk не поддерживает подмодули. Это верно? Если да, то как я могу убедить Git позволить мне использовать функции подмодуля, но при этом загружать весь код подмодуля при отправке основного репо?
Я использую node.js, поэтому думаю, что сценарий установки может быть лучшим вариантом
Если у вас не так много подмодулей (и вы не часто их изменяете или обновляете), вы можете просто заменить их статическими файлами.
Многие люди в сообществе PHP начинают уходить от управления зависимостями с подмодулями Git к использованию Composer. http://getcomposer.org/. Это может упростить часть процесса развертывания.
Здесь также есть решение https://forums.aws.amazon.com/message.jspa?messageID=474880 Последний комментарий (1 августа 2013 г., 13:37, автор: oquismail) показывает, как изменять файлы конфигурации Elastic beanstalk.
Вы можете рассмотреть возможность управления развертыванием через https://github.com/briandilley/ebs-deploy (Инструменты командной строки на основе Python для управления приложениями Amazon Elastic Beanstalk.)
Если вы используете awsebcli установлен через pip, тогда это может вам помочь.
Нам удалось найти исходный код для клиента AWS-EB 3.10.1 на PyPi.
Проблема заключается в том, как обрабатываются репозитории git при архивировании исходного кода вашего проекта для его загрузки в AWS. Если вы не используете git для своего проекта AWS, весь каталог проекта (включая любые другие модули git в подкаталогах, которые могут быть в нем) архивируется и отправляется в AWS. Если вы используете git, то весь зарегистрированный или поэтапный код, кроме подмодулей, заархивируется и отправляется в AWS. Подмодули Git пропускаются.
Мы написали исправление этой проблемы, изменив поведение таким образом, что подмодули также добавляются в заархивированный архив. Вы можете увидеть исправление на github.com/uppercasebrands/awsebcli-3.10.1/compare/eb-deploy-submodule в нашем репозитории git, который создается из исходного пакета PyPi.
Вы можете установить исправленный awsebcli-3.10.1, который теперь поддерживает подмодули, используя pip:
pip install --upgrade git+https://github.com/uppercasebrands/awsebcli-3.10.1.git@eb-deploy-submodule
Вы также можете просто git clone
подмодуль, чтобы вернуть автономный репозиторий Git. Видеть https://stackoverflow.com/q/29246750/242933