Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- FROM docker:stable-dind
- ARG user=jenkins
- ARG group=jenkins
- ARG uid=1001
- ARG gid=1001
- ARG JENKINS_AGENT_HOME=/home/${user}
- ENV JENKINS_AGENT_HOME ${JENKINS_AGENT_HOME}
- ENV LANG=C.UTF-8 \
- JAVA_HOME=/usr/lib/jvm/java-1.8-openjdk \
- PATH="$PATH:/usr/lib/jvm/java-1.8-openjdk/jre/bin:/usr/lib/jvm/java-1.8-openjdk/bin"
- RUN addgroup -g ${gid} ${group} \
- && adduser -D -h "${JENKINS_AGENT_HOME}" -u "${uid}" -G "${group}" -s /bin/bash "${user}" \
- && passwd -u jenkins
- # setup SSH server
- RUN apk update \
- && apk add --no-cache sudo bash openssh git curl openjdk8-jre wget gcc jq musl-dev openssl go
- RUN sed -i /etc/ssh/sshd_config \
- -e 's/#PermitRootLogin.*/PermitRootLogin no/' \
- -e 's/#RSAAuthentication.*/RSAAuthentication yes/' \
- -e 's/#PasswordAuthentication.*/PasswordAuthentication no/' \
- -e 's/#SyslogFacility.*/SyslogFacility AUTH/' \
- -e 's/#LogLevel.*/LogLevel INFO/' \
- && mkdir /var/run/sshd \
- && echo "%${user} ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
- # Install Sonar scanner.
- RUN curl -s -L https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-3.3.0.1492.zip -o sonarscanner.zip \
- && unzip -qq sonarscanner.zip \
- && rm -rf sonarscanner.zip \
- && mv sonar-scanner-3.3.0.1492 /bin/sonar-scanner
- COPY sonar-scanner.properties /bin/sonar-scanner/conf/sonar-scanner.properties
- #Update credential for Jenkins user
- RUN delgroup ping \
- && addgroup -g 999 docker \
- && addgroup jenkins docker \
- && ln -s /usr/local/bin/docker /usr/bin/docker \
- && mkdir -p /home/jenkins/.ssh \
- && chmod -R 777 /usr/local/bin \
- && echo -e "# Java\nJAVA_HOME=${JAVA_HOME}\nPATH=\$PATH:\$JAVA_HOME\nexport JAVA_HOME PATH\n" > /etc/profile.d/java.sh
- COPY --chown=jenkins:jenkins config /home/jenkins/.ssh/
- ENV GOPATH /opt/go
- ENV PATH $PATH:$GOPATH/bin
- USER jenkins
- WORKDIR "${JENKINS_AGENT_HOME}"
- USER root
- VOLUME "${JENKINS_AGENT_HOME}" "/tmp" "/run" "/var/run"
- COPY setup /usr/local/bin/setup
- EXPOSE 22
- # This one is for running in Jenkins
- ENTRYPOINT ["setup"]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement