Создать контейнер для 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'
тэг можно не указывать - это опционально
. означает - в текущей директории
Этот образ можно запушить в докерхаб и указать Дженкинсу ссылку на репозиторий.