From e48a49c6254d46b25553ed8f4b550db7281fc93f Mon Sep 17 00:00:00 2001 From: David Klingenberg Date: Fri, 23 Jun 2017 18:14:46 +0200 Subject: [PATCH 1/2] Add jenkins slave --- jenkins-slave/Dockerfile | 39 +++++++++++++++++++ jenkins-slave/build.sh | 6 +++ jenkins-slave/settings.xml | 80 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 125 insertions(+) create mode 100644 jenkins-slave/Dockerfile create mode 100755 jenkins-slave/build.sh create mode 100644 jenkins-slave/settings.xml diff --git a/jenkins-slave/Dockerfile b/jenkins-slave/Dockerfile new file mode 100644 index 0000000..a1c7ed2 --- /dev/null +++ b/jenkins-slave/Dockerfile @@ -0,0 +1,39 @@ +FROM fedora:25 + +RUN dnf update -y +RUN dnf install -y java-1.8.0-openjdk-devel java-1.8.0-openjdk-headless +RUN dnf install -y nano bzip2 unzip zip iproute wget +RUN dnf install -y docker +RUN dnf install -y nodejs git +RUN dnf install -y openssh openssh-server + +RUN wget https://dl.yarnpkg.com/rpm/yarn.repo -O /etc/yum.repos.d/yarn.repo +RUN dnf install -y yarn + +RUN npm install -g phantomjs-prebuilt +RUN npm install -g bower +RUN /usr/libexec/openssh/sshd-keygen rsa +RUN /usr/libexec/openssh/sshd-keygen ecdsa +RUN /usr/libexec/openssh/sshd-keygen ed25519 +RUN groupadd --gid 995 jenkins +RUN groupadd --gid 1004 docker +RUN adduser jenkins --home-dir /var/lib/jenkins --gid 995 --uid 997 +RUN usermod -G docker -a jenkins + +RUN mkdir /var/lib/jenkins/.docker +COPY config.json /var/lib/jenkins/.docker +RUN chown -R jenkins:jenkins /var/lib/jenkins/.docker + +RUN mkdir /var/lib/jenkins/.ssh/ +COPY id_rsa.pub /var/lib/jenkins/.ssh/authorized_keys +RUN mkdir /root/.ssh +COPY id_rsa.pub /root/.ssh/authorized_keys +RUN chmod 0600 /var/lib/jenkins/.ssh/authorized_keys +RUN chown jenkins:jenkins /var/lib/jenkins/.ssh/authorized_keys +RUN chmod 0600 /root/.ssh/authorized_keys +RUN mkdir /var/lib/jenkins/.m2 +COPY settings.xml /var/lib/jenkins/.m2/settings.xml +RUN chown -R jenkins:jenkins /var/lib/jenkins/.m2 + + + diff --git a/jenkins-slave/build.sh b/jenkins-slave/build.sh new file mode 100755 index 0000000..c595b65 --- /dev/null +++ b/jenkins-slave/build.sh @@ -0,0 +1,6 @@ +#!/bin/bash +cp ~/.ssh/id_rsa.pub . +cp ~/.docker/config.json . +docker build --force-rm --tag wonka-windup/jenkins-slave . + + diff --git a/jenkins-slave/settings.xml b/jenkins-slave/settings.xml new file mode 100644 index 0000000..e8a423d --- /dev/null +++ b/jenkins-slave/settings.xml @@ -0,0 +1,80 @@ + + + + + + artifactorycentral + Artifactory Central + http://172.17.0.1:8081/artifactory/centralmirror + central + + + + + + + central-mirror + + + central-mirror-repository + http://172.17.0.1:8081/artifactory/centralmirror + + true + + + true + + + + + + central-mirror-plugin-repository + http://172.17.0.1:8081/artifactory/centralmirror + + true + + + true + + + + + + + jboss-community-repository + + + jboss-community-repository + http://172.17.0.1:8081/artifactory/jboss + + true + + + true + + + + + + jboss-community-plugin-repository + http://172.17.0.1:8081/artifactory/jboss + + true + + + true + + + + + + + + central-mirror + jboss-community-repository + + + + From d310a0fc0a37ec026a5e5f0058b013b4c1468573 Mon Sep 17 00:00:00 2001 From: David Klingenberg Date: Fri, 23 Jun 2017 18:15:06 +0200 Subject: [PATCH 2/2] Update Dockerfile Reduce RUN steps, add Google Chrome. --- jenkins-slave/Dockerfile | 60 +++++++++++++++++++--------------------- 1 file changed, 28 insertions(+), 32 deletions(-) diff --git a/jenkins-slave/Dockerfile b/jenkins-slave/Dockerfile index a1c7ed2..05af430 100644 --- a/jenkins-slave/Dockerfile +++ b/jenkins-slave/Dockerfile @@ -1,39 +1,35 @@ FROM fedora:25 -RUN dnf update -y -RUN dnf install -y java-1.8.0-openjdk-devel java-1.8.0-openjdk-headless -RUN dnf install -y nano bzip2 unzip zip iproute wget -RUN dnf install -y docker -RUN dnf install -y nodejs git -RUN dnf install -y openssh openssh-server +RUN dnf update -y \ + && dnf install -y java-1.8.0-openjdk-devel java-1.8.0-openjdk-headless \ + && dnf install -y nano bzip2 unzip zip iproute wget \ + && dnf install -y docker \ + && dnf install -y nodejs git \ + && dnf install -y openssh openssh-server \ + && dnf --nogpgcheck install -y https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm \ + && wget https://dl.yarnpkg.com/rpm/yarn.repo -O /etc/yum.repos.d/yarn.repo \ + && dnf install -y yarn \ + && npm install -g phantomjs-prebuilt \ + && npm install -g bower \ + && /usr/libexec/openssh/sshd-keygen rsa \ + && /usr/libexec/openssh/sshd-keygen ecdsa \ + && /usr/libexec/openssh/sshd-keygen ed25519 \ + && groupadd --gid 995 jenkins \ + && groupadd --gid 1004 docker \ + && adduser jenkins --home-dir /var/lib/jenkins --gid 995 --uid 997 \ + && usermod -G docker -a jenkins \ + && mkdir /var/lib/jenkins/.docker \ + && mkdir /var/lib/jenkins/.ssh/ \ + && mkdir /var/lib/jenkins/.m2 \ + && mkdir /root/.ssh -RUN wget https://dl.yarnpkg.com/rpm/yarn.repo -O /etc/yum.repos.d/yarn.repo -RUN dnf install -y yarn - -RUN npm install -g phantomjs-prebuilt -RUN npm install -g bower -RUN /usr/libexec/openssh/sshd-keygen rsa -RUN /usr/libexec/openssh/sshd-keygen ecdsa -RUN /usr/libexec/openssh/sshd-keygen ed25519 -RUN groupadd --gid 995 jenkins -RUN groupadd --gid 1004 docker -RUN adduser jenkins --home-dir /var/lib/jenkins --gid 995 --uid 997 -RUN usermod -G docker -a jenkins - -RUN mkdir /var/lib/jenkins/.docker COPY config.json /var/lib/jenkins/.docker -RUN chown -R jenkins:jenkins /var/lib/jenkins/.docker - -RUN mkdir /var/lib/jenkins/.ssh/ +COPY settings.xml /var/lib/jenkins/.m2/settings.xml COPY id_rsa.pub /var/lib/jenkins/.ssh/authorized_keys -RUN mkdir /root/.ssh COPY id_rsa.pub /root/.ssh/authorized_keys -RUN chmod 0600 /var/lib/jenkins/.ssh/authorized_keys -RUN chown jenkins:jenkins /var/lib/jenkins/.ssh/authorized_keys -RUN chmod 0600 /root/.ssh/authorized_keys -RUN mkdir /var/lib/jenkins/.m2 -COPY settings.xml /var/lib/jenkins/.m2/settings.xml -RUN chown -R jenkins:jenkins /var/lib/jenkins/.m2 - - +RUN chown -R jenkins:jenkins /var/lib/jenkins/.docker \ + && chmod 0600 /var/lib/jenkins/.ssh/authorized_keys \ + && chown jenkins:jenkins /var/lib/jenkins/.ssh/authorized_keys \ + && chmod 0600 /root/.ssh/authorized_keys \ + && chown -R jenkins:jenkins /var/lib/jenkins/.m2