У меня есть простой, но общий вопрос рабочего процесса WordPress.
Текущий рабочий процесс
Это стало чудовищной болью. Должен быть лучший способ
Предполагаемый Git рабочий процесс
Я думаю, у меня есть идея, как это должно быть концептуально сделано, но я не знаю, как это должно быть сделано. Должен ли я использовать частное репо Github в середине? Есть ли способ для моего Live сайта "Pull" непосредственно из моего локального репо?
Извините, если это кажется элементарным или избитым до смерти, но Ive search и havent нашли базовое руководство "Вот как должен выглядеть ваш рабочий процесс".
С благодарностью!
Терри
Похоже, вы вообще не используете управление версиями. Это хорошая идея, что вы начнете. Я просто конвертировал из SVN в Git, и я как бы делаю то, что вы делаете на более высоком уровне. Начните с ваших целей:
Люди скажут вам, что Git не является инструментом развертывания в Интернете - они могут быть правы, но пока это работает нормально для меня, и я сделал что-то подобное. К счастью для вас, я практиковал установку Wordpress - вот шаги, которые я предпринял.
git init
базовая установка без измененийТеперь, что я вернулся и делал, было создание VM сервера gitolite
и использование этого в качестве моего хоста - это эффективно заменило github в вашем примере. Я думаю, что вы знаете ценность удаленного репозитория - я бы определенно преследовал этот маршрут.
Я собираюсь вернуться на второй шаг на втором этапе моих рекомендаций. Вы должны оставить ванильную версию Wordpress на мастере, чтобы вы могли обновить ядро и посмотреть, как он играет с вашим пользовательским кодом, вместо того, чтобы обновлять ядро на чем-то вроде одной из ваших ветвей и всего, что ломается. Это было довольно удобно для меня и что-то, что я собираюсь определенно использовать в больших проектах, таких как Magento.
Хорошо, вернемся к развертыванию. Вы можете поместить на свой веб-сервер клиент Git и иметь его pull
из своей ветки в рабочем процессе, но вы должны принять некоторые особые соображения планирования. Ваши файлы prod скорее всего будут отличаться от ваших файлов dev в определенных местах, в частности конфигурации (базы данных и т.д.). Вы захотите убедиться, что эти файлы находятся в .gitignore
, чтобы вы не подтягивали dev
настраивается в среду prod
.
Я в основном подытожил то, что сказали мне люди, когда я начал работать над этим, поэтому надеюсь, что это поможет. Опять же, я немного немного прошёл, когда вы находитесь, поэтому, если у кого есть какие-либо корректировки/оптимизации, пожалуйста, не стесняйтесь комментировать.
Я начинаю настраивать такой рабочий процесс для Wordpress. Я уже работаю над несколькими другими веб-проектами.
Я использую инструмент gitolite (https://github.com/sitaramc/gitolite/wiki/) для управления общими репозиториями (репозиториями без локальной проверки) в центральном месте, а затем запускает крюк обновления в гитолите, когда ветвь выталкивается из места разработки.
Этот хук затем ssh на живой сервер (или учетную запись клиента или что-то еще) с общим закрытым ключом, хранящимся на сервере развертывания, и выполняет git pull из public_html или любого другого места, где вы обслуживаете установку Wordpress.
Это делается с использованием записи только для чтения в конфигурационном файле gitolite, который является conf/gitolite.conf в локальном хранилище конфигурации. (Gitolite использует репозиторий git для управления его конфигурационными файлами)
repo wp-versions
RW+ = tmzt
R = server1
R = server2
Первый - это мой основной открытый ключ, который хранит keydir/tmzt.pub в том же репозитории (тот же формат, что и .ssh/authorized_keys). Остальные два являются живыми веб-серверами, которые будут иметь доступ только для чтения к репозиторию. Добавьте три ключа в keydir и обязательно зафиксируйте и нажмите. Изменения будут сделаны автоматически в установке гитолит. (Ключи сервера разделяются несколькими пользователями и копируются в файл .ssh/id_rsa каждого пользователя, но это может быть www-data, если вы предпочитаете).
RW + означает, что мой основной пользователь имеет чтение, запись и может обновлять ветки без перемотки вперед (полезно для возврата на сервер).