Skip to content

Набридло витрачати час, робити помилки та постійно повторювати ті самі дії з розгортання проекту😒? Автоматизуйте цей нудний процес налаштування та підготовки проекту та залиште собі більше часу на каву☕️. Довірте це все автоматиці та насолодіться процесом 😉

License

Notifications You must be signed in to change notification settings

hexidedigital/gitlab-deploy-configurator

Repository files navigation

GitLab deployment automation

Набридло витрачати час, робити помилки та постійно повторювати ті самі дії з розгортання проекту😒? Автоматизуйте цей нудний процес налаштування та підготовки проекту та залиште собі більше часу на каву☕️. Довірте це все автоматиці та насолодіться процесом 😉

Можливості

Сервіс розроблено для автоматизації процесу розгортання проекту на сервері GitLab CI/CD.

Налаштування розгортання

Перед початком налаштування у вас уже має бути створено репозиторій та він має мати початкову структуру проекту

Налаштування складається із 6 кроків. Після останнього починається налаштування та підготовка репозиторію.

step-wizard.png

Крок 1: GitLab

На цьому кроці потрібно вказати активний токен авторизації для GitLab API. Якщо токен буде не активним, то продовжити налаштування не вдасться.

Крок 2: Project

step-2.png

На цьому кроці потрібно обрати проект у якому виконувати налаштування. В поле вибору завантажується кілька останніх проектів, проте ви може виконувати пошук серед всіх доступних проектів.

Після вибору виведеться загальна інформація про проект та деталі про код.

Важливо - для переходу на наступний крок, проект має відповідати наступним вимогам:

  • не бути пустим, мати завантажені файли
  • має бути присутній composer.json файл, який вказує, що це php/Laravel проект
  • мінімальний рівень доступу до проекту має бути Maintainer - починаючи з нього є доступ до налаштувань проекту

Крок 3: CI/CD details

Тепер вкажіть деталі для шаблону розгортання GitLab.

step-3.png

  • шаблон який використовувати (наразі підтримується лише 3.0)
  • активні кроки та опції для них ви можете вимкнути непотрібні кроки підготовки за потреби

Далі по замовчуванню вказано один сервер як приклад для розгортання. Для нього вже підготовлено інші дані для наступних кроків, тому рекомендуємо змінювати його назву на іншу, замість видалення та створення нового.

Якщо необхідно, можна спробувати додати налаштування що для одного серверу одночасно, але це для сміливих, бо ми знаємо як це буде працювати (і чи буде працювати).

Крок 4: Parse access

На цьому кроці для вас є можливість вказати доступи до серверу, бази даних та почтового сервера, за наявності. Вам потрібно вказати доступи у тестовому полі у спеціальному форматі, за зразком.

step-4.1.png

Після вказання потрібно натиснути кнопку "Parse access data" яка проаналізує надані доступи. У разі помилки буде виведено відповідні повідомлення.

Після успішного аналізу буде виведено інформацію яку вдалося розпізнати. Уважно перегляньте їх.

step-4.2.png

Рекомендую одразу перевірити з'єднання з сервером та отримати необхідну інформацію з нього.

step-4.3.png

Також для зручності, додано можливість завантажити файли для розгортання та продовжити налаштування вручу.

Крок 5: Confirmation

Перед запуском процесу підготовки перегляньте дані, які вдалося зібрати про проект. Якщо все коректно і ви підтверджуєте, то можете запусти процес на виконання.

Налаштування репозиторію

Після створення завдання на підготовку, вона почне підготовлювати проект та сервер за звичним сценарієм. В загальному він такий:

  • обмін ssh ключами та налаштування ssh підключень
  • створення змінних для CI/CD в репозиторії
  • завантаження файлів в репозиторій та запуск пайплайну

Після завершення цього процесу ви отримаєте сповіщення в центрі сповіщень панелі.

Розробка

Вимоги

  • php ^8.2
  • Laravel ^11
  • node.js ^20

About

Набридло витрачати час, робити помилки та постійно повторювати ті самі дії з розгортання проекту😒? Автоматизуйте цей нудний процес налаштування та підготовки проекту та залиште собі більше часу на каву☕️. Довірте це все автоматиці та насолодіться процесом 😉

Resources

License

Stars

Watchers

Forks

Packages

No packages published