@historydev
Острая аллергия на анимешников

Как правильно настроить непрерывную интеграцию с любым конфигом удалённого сервера?

.gitlab-ci.yml:
job 1:
    script: 
        - rsync -r $CI_PROJECT_DIR $REMOTE_SERVER_ADDRESS:$REMOTE_SERVER_PATH
        - ssh $REMOTE_SERVER_ADDRESS 'cd $REMOTE_SERVER_PATH/$CI_PROJECT_NAME | ls'
    tags:
        - docker


Я хочу настроить ci/cd между виртуалкой где стоит gitlab server и виртуалкой где стоит docker.

Я не нашёл конкретных примеров по своим запросам в поисковике, поэтому пробую сам.

Минимальные этапы которые я вижу:
  1. Сборка проекта (если есть что собирать, в моём текущем случае нечего собирать, просто файлы проекта на ноде)
  2. Копирование файлов на удалённый сервер
  3. Сборка docker image и запуск


Целый день гуглежа выдал мне перформанс в виде того, что я должен брать shell executor и обращаться по ssh.

Как по мне это нонсенс.

Есть ssh executor, но его работа абсолютно не связана с его названием, как я понял работает с gitlab-runner на удалённой машине по ssh, а не даёт терминал ssh удалённой машины.

Как процесс должен выглядеть на бумаги и на практике?
  • Вопрос задан
  • 96 просмотров
Пригласить эксперта
Ответы на вопрос 1
alexhadock
@alexhadock
Just a tech
Привет!

Я бы решал эту задачу следующим алгоритмом:
  1. Сборка проекта
  2. Сборка docker image
  3. Push docker image в container registry проекта
  4. Подключаемся на машину, где ставим релиз
  5. Из container registry пулим уже собарнный образ нашего прлиожения
  6. Запускаем приложение
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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