besogonskiy
@besogonskiy
работаю php laravel разработчиком.

Какой Road Way сделать чтоб прокачать навыки девопса под php разработку?

На работе мне сказали что нужно теперь будет помимо написания php кода еще собирать пакеты и писать различные скрипты для сборки пакетов deb пакетов. Чтобы на gitlab запускались пайплайны и собирали deb пакет из фронтэнда и бэкэнда и чтоб на выходе получался deb пакет, который можно установить на vps и чтобы он мог и обновлять ранее установленный скрипт и ставиться на чистую и в зависимости от ситуации выполнять различные сценарии - запуск миграций, сидеров когда нужно. Чтоб было несколько видов пайплайнов - для прдакшена - одни, для девелопеских версий другие...

CI/CD в общем. Но я в этом слаб. Куда копать и как получить полное понимание всего этого. И может быть там не bash лучше использовать, а какие другие языки, например GoLang или Python? На одной из прошлых работ девопсы все сами делали и можно было качнуть написанную ими утилиту и при ее запуске само все выкачивалось и разворачивалось включая Elastic Search, Kafka, Rabbit MQ и другие вещи - всё в контейнерах.

Как самостоятельно это все освоить чтоб не делать лишних ненужных шагов?
  • Вопрос задан
  • 1721 просмотр
Пригласить эксперта
Ответы на вопрос 2
saboteur_kiev
@saboteur_kiev
software engineer
ну изучи

1. какую-то систему мониторинга, чтобы мог развернуть, настроить какие-то метрики и смотреть за ними. Возможно + графану для визуализации
2. Какой-нить инструмент для CI (Jenkins, Gitlab CI...)
3. Какой-нить инструмент для CD (можно реализовать на базе тех же Jenkins, Gitlab CI)
4. собственно сам git и систему код ревью (Gitlab, Bitbucket, Github, Gerrit)
5. системное администрирование на уровне установки и базовой настройки пакетов - все что вам нужно, типа кафки, раббит, elastic search и др
6. bash маст хев для автоматизации установок. Питон на базовом уровня для простых вещей, возможно кусков мониторинга

Ну и главное - инфраструктуру своего проекта, чтобы понимать от и до, как из исходников собирается и запускается проект.
Ответ написан
Комментировать
@d-stream
Готовые решения - не подаю, но...
Ну roadmap - известен. И там в общем случае php уже нет)

Ну а "пакет-инсталлятор-обновлятор" и CI/CDL/CDP - это слегка перпендикулярные понятия.

p.s. применительно к описанному - малая автоматизация рутинных действий и их выполнение потом средствами gitlab раннеров (тут по вкусу - ps, sh, и даже dos-cmd). Мало будет шеллскриптинга - тут по вкусу - хоть на питоне, хоть на php. Можно и на go, но в силу его компилируемости - придётся построить пайпы для этого - "сборка и деплой средств сборки")
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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