Как сделать деплой сайта с помощью данной связки [localhost+bitbucket+боевой сервер]*?
Суть вопроса в следующем:
Есть локальный тестовый сервер, есть репозиторий на bitbucket, есть shared hosting. Не выделенный а именно shared. Как запушить изменения которые закоммитил на локалке, через битбакет на боевой сервер?
Излазил весь интернет нашел много разнообразных решений, сложных и не очень.
Для себя определил вот такой вектор:
создаю публичные ключи для локалки и сервера для доступа по ssh, сгенерированные ключи добавляю в настройки репозитория который запушил с локального сервера. Далее необходимо добавить URL в bitbucket webhook на файл который будет обрабатывать запрос. Ориентировочно называется deploy.php. И опять же куда лучше этот файл разместить?
Самая засада у меня и путаница возникает когда я начинаю создавать репозиторий на боевом сервере, не понимаю где создавать репозиторий. В public_html понимаю что не стоит этого делать, ok создаю к примеру репозиторий repo.git рядом с папкой public_html. Далее делаю clone с bitbucket в этот репозиторий (ну то есть получается так: reop.git-->mysite) здесь тоже как бы проблем нет, но мне то необходимы изменения в публичке.
И еще: как быть на примере вордпресса? Получается что у меня вордпресс развернут в папке public_html и тот же вордпресс будет в репозитории repo.git и каким-то скриптом необходимо вытягивать измененные файлы в публичку.
Или не стоит тянуть весь wordpress в репозиторий а только к примеру темы. И при необходимости базу.
Вобщем чот запутался я окончательно(
HELP me!
P.S. Может немного путанно и сумбурно, но уже как смог, пардоньте)
Можно взять capistrano.
Только WordPress не особо дружит с симлинками, поэтому лучше настроить копирование shared файлов (то, чего нет в репе) при деплое.
Задачу на обновление базы через него так же можно сделать. Можно как самому, так и взять что-то вроде https://github.com/Mixd/wp-deploy
Да, рассматривал capistrano и jenkins, но у меня небольшой проект, пока хотел ограничиться простой связкой. Дальше посмотрим, но пока задача не требует, спасибо за ссылку)
Stepan St, добрый день.
Если у Вас простой проект, возможно Вам поможет этот сервис.
Бесплатно Вы можете разместить там один проект.
Пользоваться легко, работает отлично.
Спасибо. Но если честно не сталкивался, ушел гуглить)
P.S. Если честно то достаточно глобальная связка, для меня на данный момент тяжеловата, ansistrano это по сути Capistrano.
Хм...про pipelines я вкурсе, но это больше решение для команд, и там возможностей на порядок больше, по сути это непрерывная интеграция предназначенная для сборки тестирования и развертывания, возможно в будущем я и воспользуюсь данным функционалом, но сейчас в этом нет необходимости) Спасибо за совет.