From 29e807db1bb59c8ccf2ba0a1211816ee9aa74505 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Mattm=C3=BCller?= Date: Tue, 13 Jun 2023 13:00:44 +0200 Subject: [PATCH] playbook,docker: added playbook to build a docker image MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Marc Mattmüller --- docker/Dockerfile | 24 ++++++++++++++ docker/plugins.txt | 33 +++++++++++++++++++ .../build-jenkins-docker-image.yml | 11 +++++++ 3 files changed, 68 insertions(+) create mode 100644 docker/Dockerfile create mode 100644 docker/plugins.txt create mode 100644 playbooks/getting_started/build-jenkins-docker-image.yml diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100644 index 0000000..2b3d584 --- /dev/null +++ b/docker/Dockerfile @@ -0,0 +1,24 @@ +FROM jenkins/jenkins:2.387.3-lts-jdk11 + +USER root +RUN apt-get -y update && apt-get -y install \ + gcc build-essential make git tree unzip xz-utils zip vim tcpdump htop rsync file \ + chrpath diffstat gawk debianutils libegl1-mesa mesa-common-dev libsdl1.2-dev cpio \ + lz4 liblz4-tool zstd libffi-dev net-tools iproute2 iputils-ping procps less wget \ + python3-pip python3-pexpect python3-git python3-jinja2 python3-subunit pylint3 \ + bmap-tools efitools openssl sbsigntool pandoc texinfo socat cppcheck complexity \ + locales locales-all +RUN pip3 install sphinx sphinx-rtd-theme recommonmark +RUN pip3 install robotframework && \ + pip3 install --upgrade robotframework-sshlibrary && \ + pip3 install --upgrade robotframework-jsonlibrary +USER jenkins + +LABEL maintainer="marc.mattmueller@netmodule.com" + +ENV JAVA_OPTS -Djenkins.install.runSetupWizard=false -Dhudson.slaves.WorkspaceList=- -Djavax.net.ssl.trustStore=/var/jenkins_home/.cacerts/cacerts -Djavax.net.ssl.trustStorePassword=changeit +ENV CASC_JENKINS_CONFIG /var/jenkins_home/casc.yaml +ENV JENKINS_HOME /var/jenkins_home + +COPY plugins.txt /usr/share/jenkins/ref/plugins.txt +RUN jenkins-plugin-cli --plugin-file /usr/share/jenkins/ref/plugins.txt diff --git a/docker/plugins.txt b/docker/plugins.txt new file mode 100644 index 0000000..79d2341 --- /dev/null +++ b/docker/plugins.txt @@ -0,0 +1,33 @@ +git:latest +authorize-project:latest +build-timeout:latest +cloudbees-folder:latest +configuration-as-code:latest +copyartifact:latest +credentials:latest +credentials-binding:latest +docker-workflow:latest +email-ext:latest +envinject:latest +github-branch-source:latest +htmlpublisher:latest +ldap:latest +mailer:latest +matrix-auth:latest +pam-auth:latest +parameterized-trigger:latest +pretested-integration:latest +pipeline-github-lib:latest +pipeline-groovy-lib:latest +pipeline-stage-view:latest +pipeline-utility-steps:latest +job-dsl:latest +ssh-slaves:latest +ssh-agent:latest +text-finder:latest +timestamper:latest +workflow-aggregator:latest +workflow-cps:latest +ws-cleanup:latest +nexus-artifact-uploader:latest +blueocean:latest diff --git a/playbooks/getting_started/build-jenkins-docker-image.yml b/playbooks/getting_started/build-jenkins-docker-image.yml new file mode 100644 index 0000000..4e8e155 --- /dev/null +++ b/playbooks/getting_started/build-jenkins-docker-image.yml @@ -0,0 +1,11 @@ +- name: Build Jenkins Docker Image + hosts: linux + vars: + root_path: "~/nwl-ci" + tasks: + - name: Build the Jenkins Image + community.docker.docker_image: + name: nwl-jenkins + build: + path: "{{root_path}}/docker" + source: build