playbook,docker: added playbook to build a docker image

Signed-off-by: Marc Mattmüller <marc.mattmueller@netmodule.com>
This commit is contained in:
Marc Mattmüller 2023-06-13 13:00:44 +02:00
parent 35e28eb1a3
commit 29e807db1b
3 changed files with 68 additions and 0 deletions

24
docker/Dockerfile Normal file
View File

@ -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

33
docker/plugins.txt Normal file
View File

@ -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

View File

@ -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