Добрый день, в настоящее время большую актуальность набрали решение которые используют Docker — контейнеры, а CI все так же, не теряет своей актуальности. Поэтому сегодня мы рассмотрим как запустить Jenkins используя Docker — контейнер.
О том что такое CI, вы можете познакомиться здесь.
Здесь содержится инструкция по установке jenkins без контейнера.
О том как установить Docker в CentOS8/RHEL8, мы говорили тут.
Тут мы рассказывали о том, как установить CentOS8.
Первое что нам потребуется при установке системы, это получение образа Jenkins из официального репозитория docker. Независимо от того где вы будете это делать CentOS8/Ubuntu, вам достаточно выполнить просто команду:
docker pull registry.hub.docker.com/zaiste/jenkins
Нам остается дождаться лишь окончания загрузки образа.
Теперь мы изменим имя нашего docker изображения на jenkins-image, что в дальнейшем не возникало путаницы и неудобств при работе с данным изображением.
docker tag registry.hub.docker.com/zaiste/jenkins jenkins-image
Далее нам необходимо запустить docker контейнер используя jenkins-image. Обратите внимание, что порт 8080, который используется по умолчанию в jenkins, будет изменен на порт 49001 на нашем виртуальном хосте. Каталог контейнера Jenkins, будет смонтирован по итогу к нашему текущему место положению в директорию jenkins.
docker run -d -p 49001:8080 -v $PWD/jenkins:/var/lib/jenkins -t jenkins-image
Теперь проверим, что Jenkins в контейнере docker успешно запустился откроем страницу и перейдем по адресу http://ip-адрес-машины:49001 в моем случае:
http://192.168.226.128:49001
Так как по умолчанию в контейнере Jenkins настроен вход без использования какой-либо авторизации и доступ может получить любой кто знает где находится наш Jenkins, давайте изменим контроль доступа в Jenkins.
Для начала создадим нового пользователя, откроем настроить Jenkins.
Затем открываем Manage Users.
Далее выбираем создать пользователя.
И далее заполняем все ниже указанные поля.
Далее мы вернемся в настройки Jenkins.
Выбираем Configure Global Security.
Далее ставим галочку Включить защиту, Jenkins own user database и Logged on user can do anything и нажимаем внизу сохранить.