#docker #jenkins #devops #single-page-application
#docker #дженкинс #devops #одностраничное приложение
Вопрос:
В настоящее время я работаю над одностраничным веб-приложением. Интерфейс взаимодействует с внутренними службами, которые, в свою очередь, имеют подключения к базе данных. На моем собственном сервере Linux я хочу «опубликовать» SPA. Для локальной разработки я использовал Docker. На моем сервере я тоже хотел использовать Docker. Для развертывания я использую Jenkins (также через Docker). Теперь, во время сборки Jenkins, я получаю сообщение об ошибке «docker: команда не найдена» во время команды «docker run». Согласно исследованиям, решение заключается в том, что я должен установить docker поверх Jenkins. Для меня это звучит немного странно. Я на правильном пути? Каков наилучший способ построения конвейера развертывания?
Спасибо, ребята!
Комментарии:
1. Я думаю, что здесь есть еще много чего, что нужно распаковать. Решение заключается в том, что вы говорите, для использования docker требуется установка docker. Где / как использовать docker, полностью зависит от вашей инфраструктуры и того, как развертывается и запускается jenkins. Существуют ли агенты Дженкинса? Затем установите docker там. Если нет, установите движок на jenkins main. Дженкинс уже запущен в docker? Тогда требуется решение docker-in-docker. Без особого контекста решение заключается в установке docker engine, если вам нужно создавать образы docker в конвейере.
2. Здравствуйте, Дженкинс запущен в Docker. Но я могу установить его снаружи (вручную), если это лучший способ. Лучше ли не запускать jenkins в Docker?
3. В любом случае допустимы, но с точки зрения наилучшей практики и возможности поддержки вам, вероятно, нужны любые инструменты сборки, работающие в контейнере агента, чтобы не настраивать основную службу jenkins. Запуск jenkins в контейнере — это нормально.
4. это не то место, где люди будут делать вашу домашнюю работу от вашего имени. Вместо этого начните делать, если вы столкнулись с проблемой, подойдите сюда
5. Посмотрите на мой игрушечный проект здесь: github.com/taleodor/mafia-deployment В нем есть все необходимые ссылки, которые помогут вам начать работу. Ключевой момент, которого вам не хватает, это то, что вам нужно отправить изображения из Jenkins в некоторый реестр изображений, а затем на вашем сервере он должен извлекать изображения из этого реестра. Для начала это может быть так же просто, как задание cron на одной виртуальной машине.