настроить Gitlab-CI для автоматического развертывания (CD) вашего приложения через SSH

Thank you for reading this post, don't forget to subscribe!

Тестовая схема:

  • Gitlab Runner с запу­щен­ным и запу­щен­ным Docekr испол­ни­те­лем (может быть локально)
  • Cер­вер для раз­вер­ты­ва­ния (тоже может быть локаль­но, он дол­жен быть досту­пен для раннера).
  • У вас есть сер­вер Gitlab, и вы уже созда­ли репо­зи­то­рий сво­е­го про­ек­та с фай­лом .gitlab-ci.yml.

Необходимые шаги

Под­клю­чи­тесь по ssh к раннеру:

Создай­те пару клю­чей SSH:

Полу­чи­те закры­тый ключ раннера:

 cat ~/.ssh/id_rsa

Добавь­те этот закры­тый ключ в каче­стве пере­мен­ной в свой про­ект на Gitlab:

Перей­ди­те: Settings > CI/CD > Variables

Выпол­ни­те вход по SSH к серверу:

Ско­пи­руй­те откры­тый ключ ран­не­ра( cat id_rsa.pub ) внутрь ~/.ssh/authorized_keys сервера.
Изме­ни­те свой .gitlab-ci.yml. соглас­но сле­ду­ю­ще­му примеру.
Пред­по­ла­га­ет­ся образ на осно­ве ubuntu.
Отре­дак­ти­руй­те CI скрипт свои задачи:

 

 

Сде­лай­те ком­мит .gitlab-ci.yml, запу­стит­ся пай­плайн и отпра­вит по ssh на ваш сер­вер необ­хо­ди­мых файл!