Установка Jenkins с Docker
Установка Jenkins через Docker. Нюансы запуска docker-compose внутри контейнера. Организация сети распределённой сборки. Подготовка виртуальных машин для менеджера и агентов через Ansible.
- 00:00:38 - Выбор системы автоматизации
- 00:02:10 - Способы установки Jenkins
- 00:04:20 - Создание проекта
- 00:06:06 - Добавление Makefile
- 00:07:06 - Доступ к Docker
- 00:09:03 - Использование Docker в Docker
- 00:10:14 - Использование стороннего docker-демона
- 00:12:39 - Пробрасывание сертификатов
- 00:14:51 - Пробрасывание рабочей директории
- 00:16:02 - Сохранение кэша образов
- 00:17:50 - Локальная установка
- 00:19:54 - Интерфейс Blue Ocean
- 00:20:36 - Создание демонстрационного Pipeline
- 00:22:25 - Локальный прокси Nginx
- 00:24:34 - Установка docker-compose
- 00:26:50 - Конфигурация для production
- 00:28:34 - Создание виртуальной машины
- 00:29:26 - Создание плейбуков для Ansible
- 00:35:18 - Запуск плейбуков для установки
- 00:36:24 - Добавление команды деплоя
- 00:38:22 - Установка Jenkins в production
- 00:39:28 - Выполнение Ad-Hoc команд в Ansible
- 00:42:34 - Добавление тестового Pipeline
- 00:42:59 - Настройка числа исполнителей
- 00:47:10 - Проблема последовательного запуска
- 00:49:02 - Использование сети агентов
- 00:51:53 - Добавление агента
- 00:54:55 - Генерация SSH-ключа для агента
- 00:58:25 - Добавление Node в Jenkins
Скрытый контент
Чтобы не пропускать новые эпизоды подпишитесь на наш канал @deworkerpro в Telegram

Спасибо, отличное видео.
Спасибо, очень!
Дмитрий спасибо за качественный материал, и за тот труд ,который вы проделали, чтоб доступно все изложить,но не кажется вам что мы сильно начинаем углубляться в девопсовские вещи
А как без этого?
Да это полезно для общего развития, но сдается мне, что здесь собрались в большинстве своем программисты (как и я), и для них данная информация не имеет большего значения, кроме как самому потренироваться. Данные знание мало пригодятся в работе, т.к. в любой студии или компании программисту не дадут этим заниматься, для этого есть devops (который в любом случае будет более опытен), в отличие от лекции по программированию, архитектурных решений, тестирования, крайне полезны и который можно применять в своей работе и дальше в этом развиваться. Я считаю что не стоит распыляться, как по мне на ненужные вещи для программиста, а уделить больше времени именно программированию, рассмотреть и применить различные паттерны в данном проекте, что бы было более практическое понимание где и как их стоит правильно их использовать.Но отмечу, это всего лишь мое мнение и пожелание, и оно может отличаться от мнения Дмитрия.
Ну уж и не знаю... Я программист и я регулярно настраиваю CI/CD. Для меня материал довольно полезен.
Наоборот, понятие DevOps как раз подразумевает, что всем этим начинают заниматься сами программисты. А не классический вариант, когда в компании есть отдельный программист (dev) и отдельный сисадмин (ops).
Так изначально и анонсировалось, что это будет серия про полный цикл разработки под ключ с рассмотрением всех подобных тем.
Спасибо, Дмитрий! Одно время попробовал запустить Jenkins в docker с маунтом докер сокета, но во время сборки приложений при поднятии контейнеров не маунтились тома. Теперь понимаю, как этого избежать.
В таком случае нужно было монтировать рабочую папку по тому же абсолютному пути:
чтобы внешний docker-демон видел тот же
/var/jenkins_home
.Спасибо
Отличный урок, спасибо!
Спасибо, материал то что надо, тут пишут что типа не по теме, но это не верно, самый крутой паттерн и идеальный код, бесполезны если с рабочим окружением что-то случилось и не будет рядом никакого девопса скорее всего, который все быстро поправит. А с такими знаниями ты уже сам себе режиссер, хоть понятно в какую сторону смотреть.
согласен
Дмитрий, а почему задача из authorize.yml запускается отдельно от задачи создания пользователя?
Потому что она необязательна для запуска.
Спасибо за замечательные уроки! Вопрос, почему мне приходится в плейбуках уточнять путь к ролям? Вместо просто: - swap, надо писать: .../roles/swap У меня ubuntu 16.
Сам себе отвечаю, потому что плейбуки зачем-то поместил в отдельную папку, а надо в корень рядом с папкой /roles
Дмитрий, в моём jenkins такая беда, ветка master начала падать с ошибкой на npm-install причем падает только ветка master, другие ветки не падают
Что то не охото переустанавливать и настраивать заново jenkins. Может можно как то это поправить?
А образ свежий
FROM node:15-alpine
?А если зайти в
var/lib/docker/volumes
и вjenkins-data
удалить папкуnode_modules
вworkspaces/xxx_master
и потом перезапустить сборку?Образ node:alpine - норм? вроде должен быть крайний.
Папку нашел, pipeline отработал успешно!
Спасибо Дима!
Для информации: внезапно отвалилась дополнительная нода, вообще не хотела подключаться, полечил обновлением образа jenkins (docker-compose pull && docker-compose build --pull).
Дима, чем отличается?
docker-compose pull --include-deps && docker-compose build
от
docker-compose pull && docker-compose build --pull
Правильнее использовать вариант:
Исправил это в репозитории и скоро исправлю в видео.
добрый вечер а подскажите какие вы плагины поставили. я собрал Jenkins из alpine
При установке выбрали рекомендуемые по умолчанию. Потом свми доставили SSH Agent.
Или войти через: