Мой сайт

Continous delivery

Сайт крутится на двух вирутальных серверах: тестовом и боевом. На каждом из них запущен Git Auto Deploy, который слушает веб-хуки и, если надо, обновляет сервер

Мой GAD настроен на две специальные ветки: dev-x и pub. Когда я пушу в них, он берёт тэг последнего коммита, и вытаскивает соответствующий тэгу докер-образ, который должен был заранее построиться. И перезапускает контейнер, который основан на новом образе.

Таким образом алгоритм такой:

  • тэгаешь коммит и GitHub actions строит образ с сайтом
  • ставишь на коммит с тэгом ветку dev-x и это триггерит GAD вытащить новый образ и перезапустить сайт.

Чтобы откатиться, достаточно перекинуть ветку dev-x на старый тэг.

Сейчас плохо что, что один и тот же контейнер виден из интернета и он же может действовать как docker группа. Я это скоро переделаю.