LINUX.ORG.RU

CD/DE wordpress сайта

 , ,


0

2

[UPD; TL;DR]

Я изменения в вордпрессе делаю на релизнутом сайте через FTP - это отстой, хочу сделать это более грамотно, как??

Я не devOps по этому мне немного трудно сформулировать свой вопрос.

Я делаю сайт на wordpress, для этого я купил (пока использую бесплатные 300$) google cloud VM instance + wordpress (гугл сам его установил). Дальше я подключаюсь по FTP и могу изменять файлы, либо подключаюсь по SSH и могу например перезапустить apache.

Мне такой подход не нравится. Я хочу чтоб я мог локально разрабатывать (писать код), использовать git, а для релиза делал бы просто мерж своей ветки в master/release

Также есть некоторые файлы который я менял которые не лежат в папке (отце/бате/директории) var/www/html (А именно эту папку я думал поместить в git), например для создания «красивых» URL мне пришлось редактировать файл /etc/apache2/apache2.conf. За такими изменениями хотелось бы тоже следить.

На данный момент есть два разработчика, у одного windows,у другого mac OS, на сервер-е linux. По этому хотелось бы чтоб локально wordpress работал одинаково независимо от ОС. Еще раз повторюсь что я не devOps, поправляйте меня если где-то я хочу не того. из проблемы XY изначально то чего я хочу это качественный, удобный DE (dev experience) и «надежных релизов»

★★★

Последнее исправление: abs (всего исправлений: 1)

Ты так и не сформулировал вопрос. Какие-то хотелки ты указал, которые непонятно как связаны между собой.

Вопрос-то в чем? При чем тут DE?

Deleted
()
Ответ на: комментарий от Deleted

хочет гит в вордпресс видать интегрировать. я тож не особо понял пять раз перечитал

Deleted
()

Я хочу чтоб я мог локально разрабатывать (писать код), использовать git, а для релиза делал бы просто мерж своей ветки в master/release

А тебе действительно нужен wordpress? На сайте есть динамика? База товаров, форум, что-то в таком духе?

Если нет, выкинь wordpress возьми любой статический генератор на том языке что тебе больше приглянется (pelican, nikola для питона например) и разрабатывай шаблоны и темы.

Будет надежно, дешево и эффективно.

alpha ★★★★★
()
Ответ на: комментарий от Deleted

Вопрос-то в чем? При чем тут DE?

Обновил тему, вверху написал кратко что хочу

abs ★★★
() автор топика
Ответ на: комментарий от alpha

А тебе действительно нужен wordpress?

Я слегка сомневаюсь в этом, но все таки я его выбрал потому что 1) Нужна админка потому что предполагается что не только ДЕВы будут заниматься наполнением сайта 2) большое количество готовых шаблонов/плагинов/ фрилансеров которые работают с вордпресс за копейки

abs ★★★
() автор топика
Ответ на: комментарий от abs

не только ДЕВы будут заниматься наполнением сайта

Они не могут Markdown и самый базовый уровень гит-а? Тогда сложно, да.

большое количество готовых шаблонов/плагинов/ фрилансеров которые работают с вордпресс за копейки

Если ты хочешь пользоваться готовыми шаблонами и плагинами, написанными другими, то «разрабатывать» сайт на вордпрессе просто правя его файлы на файловой системе нельзя. У него хитрая структура, половина стилей вообще хранится не в файлах, а в БД.

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

Погугли по теме разработка плагинов для вордпресса, там должны быть доки по тому как паковать и устанавливать.

alpha ★★★★★
()
Ответ на: комментарий от alpha

В общем wordpress - это много тыкания мышкой в админке и много сохранения дампов базы, в которой свалены как контент так и настройки сайта, стили, темы и т.д.

Git к нему не очень чтобы пристраивается.

По крайней мере так было раньше, может времена изменились с тех пор, но слабо верится

alpha ★★★★★
()

Проблема не понятна. У тебя git-репозиторий уже есть? Если нет, то поставь куда-нибудь gitolite, сделай там репозиторий, заведи ключи и выстави права. Заведи там пользователя, который будет иметь права только на pull из master.
На самом хосте создаешь пользователя,который может писать в /var/www и копируешь ему приватный rsa-ключ, пользователя, у которого есть только права на pull из мастера.
Клонируешь git репозиторий и в хуках, в post-receive пишешь git checkout в каталог с твоим сайтом. Добавляешь в крон git pull каждые минут 10 и радуешься малой механизации.

adn ★★★★
()

Не девопс, но бывает интересуюсь простыми способами. Если репа хостится на гитхабе или другом сервисе, то там бывают вебхуки по пушам.

На инстанс кладешь чекаут репы, запускаешь его как обычно и еще вешаешь небольшой сервис на высокий порт, куда гитхаб будет кидать вебхук (с секретным токеном). По получению он делает пулл, копирует новый apache conf из $project/conf, etc куда следует, и перезапускает что нужно. Все под спец.юзером без логина, у которого есть sudoers права на этот скрипт. При каждом пуше твой инстанс будет обновляться и перезапускаться. Сам сервис можно туда же в репу кинуть, и его перезапускать тоже, чтобы вообще руками на инстанс не ходить.

Потом как закончите просто остановишь сервис, чтобы не висел и уберешь вебхук.

anonymous
()
Ответ на: комментарий от anonymous

Если не гитхаб и вебхуков нет, то можно просто сделать морду на высоком порту (с простым аутхом) и дергать хук вручную из морды. Сервис пишется на коленке на любом удобном языке.

anonymous
()
Ответ на: комментарий от adn

Мысль понял, может еще поможете по второму вопросу, как локально разрабатывать (учитывая что у разработчиков разные ОС) ?

abs ★★★
() автор топика

например для создания «красивых» URL мне пришлось редактировать файл /etc/apache2/apache2.conf

Если уж хочется апач (зачем?), то там ведь есть .htaccess.

Насчет остального - достаточно засунуть в гит используемый темплейт, вы же не будете ядро переписывать. Ну и на сервере юзать wp-cli.

Deleted
()
Ответ на: комментарий от abs

Снова не понимаю вопроса - там разница только в окончаниях строк, это все в git'е локально настраивается.
А в остальном как всегда, разворачиваешь тестовое окружение, делаешь коммиты и пушишь их в gitolite (или что у тебя там используется)

adn ★★★★
()
Ответ на: комментарий от adn

разворачиваешь тестовое окружение

Вот в этом вопрос, как? Отдельно устанавливать apache/mySQL/php на каждую из ОС? Выглядит достаточно ненадежным процессом (В том смысле что легко где-то ошибиться в настройке, и то что будет работать на одном компе, не будет на другом компе/сервере)

abs ★★★
() автор топика
Ответ на: комментарий от adn

Вот с фронтом например все одинаково (плюс минус) и нужно только ноду установить по разному на разные ОС, а далее все стандартно

git pull
npm install
npm start / npm run build

abs ★★★
() автор топика
Ответ на: комментарий от abs

Я думаю, что проблем не будет. Просто специфичные настройки вынеси в отдельный конфиг.

adn ★★★★
()
Ответ на: комментарий от abs

Там веб-сервер встроенный. php так не умеет, насколько я знаю, да и подход уж сильно разный.

adn ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.