Как лучше организовать развёртывание и обновление сайта в Azure?

Вот уже почти год поддерживаю один из сайтов созданного на cms Umbraco, здесь фишка в том что часть контента хранится в БД (тексты, ссылки, другие простейшие данные), а часть хранится в папке самого проекта (это медиа файлы, в моём случае это только pdf-ки и изображения) то есть по сути они включены в проекты.
Сначала я пробовал как белый человек подключаться к сайту как к Azure WebSite или по FTP через Visual Studio. Но VS c решарпером загружаются довольно долго, а потом ещё оооочень долго подключается к Azure. Специфика клиента в том что часто требуется что-то изменить на сайте крайне срочно (например, всю историю сайта у новостей были однострочные заголовки, а клиент добавил трёхстрочный и из за этого теперь в соседней колонке не красивый отступ, а новость нужно опубликовать через 30 минут и клиент начинает паниковать и злиться, в своё оправдание скажу, что сайт был изначально написан не мной). Для внесения быстрых фиксов я использую WebMatrix, это легко и быстро - просто нажал на кнопку в ажуре и теперь открылся весь проект, можно скачать его (делаю редко потому что мной и серверами 11 часовых поясов) а можно сразу на живую в продакшен.
Тут возникает вопрос, как теперь добавить эти изменения допустим в TFS? При попытке подключить WebMatrix к TFS и сделать коммит WebMatrix начал заливать абсолютно всё а хотелось бы только изменения. Но на этом приключения не заканчиваются. Почему то каждый раз когда я открываю сайт в WebMatrix он считает что это другой проект и генерирует для него новое название, папку и так далее. Плюс нужно вести несколько основных веток: production, staging(потому что медиа файлы в проекте а не в базе), development (несколько штук на каждую ветку)
А ещё на разные версии сайта (production и остальные) нужно публиковать разные конфигурационнные файлы (типа robot.txt)

Что я хочу иметь: возможность быстро вносить правки в несколько версий сайта и синхронизировать их в системе контроля версий (я больше люблю TFS, но если другой сервис может мне помочь в моей задачи, буду рад научиться пользоваться чем то ещё)
Может кто-то работает примерно так же или он гуру в системах контроля версий и видит отчётливо что я должен сделать, что бы облегчить себе работу, я очень буду рад услышать мнение таких людей. Так же буду рад услышать и просто мнения по этому поводу, может у кого то есть интересные истории о близких к моей проблеме темы и я смогу подчеркнуть что-то для себя, прошу высказывайтесь и заранее благодарю за помощь.
  • Вопрос задан
  • 371 просмотр
Решения вопроса 1
В Azure есть интеграция с git'ом. Настраивается деплоймент скрипт и при пуше кода в выбранную ветку, он разливается по всем инстансам + можно проделывать какие-то манипуляции из этого скрипта (менять конфиги, запускать обновление composer'a, бил скрипты и т.п.). Подробнее почитать можно тут.
azure.microsoft.com/ru-ru/documentation/articles/w...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы