Прошу объяснить про билд и деплой проектов с Travis CI?
Я хочу использовать Travis CI для билда и деплоя PHP проекта на сервер ubuntu (есть несколько окружений).
Естественно нужно не забыть при этом создавать бекапы перед деплоем и автоматически применять к БД добавленные SQL файлы в репозитарий.
Есть отдельный репо с sh скриптами для создания архива бекапа, выполнения новых sql скриптов, распаковки библиотек, запуска Grunt задач и пр.
Мне понятно, что я могу положить .travis.yml файл в корень основного репозитария, потом после коммита Travis поднимет чистую ВМ с нужными мне настройками и сделает клон репозитория в нее.
Вопрос: какие задачи может для меня сделать Travis? Учитывая что я описал выше.
Запускать тесты мне не нужно.
Первый шаг - это бекап. Мой рабочий проект развернут на рабочем сервере, я же не могу в travis.yml запустить свой backup.sh скрипт. Да и самого этого скрипта нет на ВМ тревиса, а лежит он в отдельном репо.
Второй шаг - накатить sql запросы на БД, и снова, у тревиса нет моей рабочей БД, чтобы он мог это сделать с помощью run_sql.sh
Для деплоя буду использовать провайдера AWS CodeDeploy и логично, что он должен обо всем этом позаботится.
Верно я рассуждаю? Хочу попросить Вас поправить где я не прав или дополнить своими соображениями, как устроить деплой проекта.
Спасибо.
Если вам не нужно выполнять тесты на стороннем сервисе, таком как Travis CI, при условии что у вас скрипты под сборку уже имеются и вы для развертывания хотите использовать возможности AWS CodeDeploy, то вам лучше собрать производственный комбайн на основе нативных решений от AWS: CodeDeploy (убедитесь, что его агент установлен у вас на сервере), CodePipeline.
Как вариант логику развертывания скриптов вы можете обернуть через OpsWork. Вариантов у AWS масса, скорее в первую очередь вам нужно ответить на вопрос, что именно дает Travis CI именно в вашем случае и уже относительно этого построить схему непрерывного развертывания.