Создать контейнер для Jenkins работника в Docker

Содержание
Введение
Код докерфайла
Сборка и публикация
Статьи про Docker

Введение

В Jenkins можно делать агентов в виде докер контейнеров. Для этого нужно установить плагин Docker через Plugin Manager.

Пример докер файла для такого агента вы можете изучить ниже

Создайте файл с настройками Docker - Dockerfile и отредактируйте его, например, с помощью редактора vim

touch Dockerfile
vi Dockerfile

FROM ubuntu:22.04 LABEL maintainer="www.eth1.ru" ENV DEBIAN_FRONTEND=noninteractive # Make sure the package repository is up to date. RUN apt-get update && \ apt-get install -y --no-install-recommends apt-utils && \ apt-get update && \ apt-get upgrade RUN apt-get -qy full-upgrade && \ apt-get install -qy git && \ # Install a basic SSH server apt-get install -qy openssh-server && \ sed -i 's|session required pam_loginuid.so|session optional pam_loginuid.so|g' /etc/pam.d/sshd && \ mkdir -p /var/run/sshd && \ # Install JDK 11 (latest stable edition) apt-get install -qy openjdk-11-jdk && \ # Install maven apt-get install -qy maven && \ # Cleanup old packages apt-get -qy autoremove # Add user jenkins to the image RUN useradd -ms /bin/bash jenkins # Set password for the jenkins user (you may want to alter this). RUN echo "jenkins:jenkins" | chpasswd && \ mkdir /home/jenkins/.m2 # ADD settings.xml /home/jenkins/.m2/ # Copy authorized keys COPY .ssh/authorized_keys /home/jenkins/.ssh/authorized_keys RUN chown -R jenkins:jenkins /home/jenkins/.m2/ && \ chown -R jenkins:jenkins /home/jenkins/.ssh/ # Standard SSH port EXPOSE 22 CMD ["/usr/sbin/sshd", "-D"]

Собрать образ можно командой build

docker build -t jenkins-docker-slave:1.0 .

-t это сокращение от --tag задаёт название и тэг в формате 'name:tag'

тэг можно не указывать - это опционально

. означает - в текущей директории

Этот образ можно запушить в докерхаб и указать Дженкинсу ссылку на репозиторий.

Похожие статьи
Docker
build: Создание контейнеров + примеры
Dockerfile
Ubuntu в контейнере на Windows 10
Контейнер с доступом по SSH
Контейнер с Nginx
Контейнер для Jenkins агента
Контейнер для PyTest
Контейнер для Swagger
Make

Поиск по сайту

Подпишитесь на Telegram канал @aofeed чтобы следить за выходом новых статей и обновлением старых

Перейти на канал

@aofeed

Задать вопрос в Телеграм-группе

@aofeedchat

Контакты и сотрудничество:
Рекомендую наш хостинг beget.ru
Пишите на info@urn.su если Вы:
1. Хотите написать статью для нашего сайта или перевести статью на свой родной язык.
2. Хотите разместить на сайте рекламу, подходящую по тематике.
3. Реклама на моём сайте имеет максимальный уровень цензуры. Если Вы увидели рекламный блок недопустимый для просмотра детьми школьного возраста, вызывающий шок или вводящий в заблуждение - пожалуйста свяжитесь с нами по электронной почте
4. Нашли на сайте ошибку, неточности, баг и т.д. ... .......
5. Статьи можно расшарить в соцсетях, нажав на иконку сети: