2017-02-07 54 views
1

Для моей установки Drupal 8 я хочу использовать следующий рабочий процесс:Как я могу потянуть проигнорированные файлы?

1) На локальном компьютере установки и обновления выполняются с помощью Composer. Затем файлы композитора помещаются в Bitbucket.

2) На удаленном сервере у меня есть промежуточная папка, в которой я вытаскиваю файлы композитора и выполняю установку композитора.

3) На том же сервере я хочу иметь другую папку для производственного сайта. Здесь я клонирую папку для создания, а затем вытягиваю все ее изменения.

Проблема заключается в том, что папки ядра и модулей Drupal (установленные Composer) находятся в gitignore. Поэтому они не тянутся от постановки на производство. Как я могу отслеживать/управлять версиями папки для создания WHOLE и вызывать изменения в производстве? Если я удалю файлы gitignore, я предполагаю, что они снова будут вытащены в следующий раз из Bitbucket.

EDIT: В данной статье описывается решением, но я не очень понимаю, как это работает с этим CI сервером: http://nuvole.org/blog/2016/aug/19/optimal-deployment-workflow-composer-based-drupal-8-projects

ответ

1

Вы должны изменить .gitignore и нажмите & тянуть снова в вас шаги:

  1. На локальной машине, удалите ядро ​​и модули Drupal папки в .gitignore, а затем добавить & & совершить толчок снова.
  2. На удаленном сервере промежуточной папки потяните за изменения.
  3. На удаленном сервере производственного сайта вытащите изменения из промежуточной папки.

option2:

  1. Защита .gitignore файл в папку размещения, даже вытащить из Bitbucket в .gitignore не будет overwirtted, как показано ниже:

    git update-index --skip-worktree .gitignore

  2. Изменить .gitignore файл и добавить полезные файлы в промежуточную папку.

+0

Но это одна из основных причин использования Composer, вам не нужно излишне заполнять ваш репозиторий десятью тысячами файлов ... – 0711master

+0

Если вы хотите, чтобы часть файлов контролировалась версией, вы можете использовать подстановочные знаки в '. gitignore', чтобы отфильтровать те, которые вы хотите игнорировать. –

+0

Это не главное - я хочу, чтобы на локальном компьютере игнорировались некоторые файлы, но на удаленном сервере файлы не игнорировались, поэтому их можно было вытащить из этапа в производство. – 0711master

0

Commit файлов и нажать на другое хранилище, используемое для производства, или в филиал/ярлык от вашей основной ветви развития (недостатком с этим последним подходом является то, что ваш репозиторий может быстро развиваться). Вы можете переопределить конфигурацию gitignore во время промежуточной тоже например:

git add -f . 

В качестве альтернативы, рассмотреть возможность запуска установки композитора в производстве, как часть процесса развертывания, или создание контейнера изображение, которое вы можете нажать (например, грузчик) и запускать это, чтобы помочь сохранить как можно более похожими в dev и production.

+0

Я думаю, что превосходный gitignore - лучшее решение. Интересно, почему в этой теме больше нет информации, так как это должно быть обычной проблемой ... И я слышал, что использование композитора в производстве на самом деле не рекомендуется ... – 0711master

+0

Я имел в виду, что вы запускаете композитор как часть процесса сборки CI (будь то автоматизированный или ручной шаг), который создает ваше приложение, чтобы вы могли продемонстрировать повторяемость ваших сборников. Если один из ответов, которые у вас есть, решает проблему, не забудьте принять это! –

 Смежные вопросы

  • Нет связанных вопросов^_^