はじめに
世の中には多くのCIツールがありますが、自分はJenkinsおじさんとの付き合いが一番長いです。そんなわけで、どこで作業するにもdockerで起動するようになっていれば困らないだろう(少なくとも自分は)と思い、Jenkins用のDockerfileを自作していました。
ただ、自作のため、アップデートなどのDockerfileのメンテが面倒少し手間がかかるので、何かないかなーと探していると、 Official Jenkins Docker image を見つけました。
こちらを利用している方が今後ラクチン汎用性があるのではと思いましたので、起動手順を書いておきます。
環境
- OS: Ubuntu14.04
- docker version: 1.4.1
前準備
jenkins_homeの永続化用にディレクトリを用意します。
mkdir jenkins_home
chmod 777 jenkins_home
Jenkinsコンテナ起動
sudo docker run -p 8080:8080 -d \
-v [PATH]/jenkins_home:/var/jenkins_home \
jenkins
※[PATH]は適宜修正して下さい。
動作確認
http://(dockerホストのIPアドレス):8080
アクセスすると、Jenkinsが使えますので、プラグイン入れるなり、ジョブを作るなりすればOKです。
補足
使用したイメージのDockerfile
自分が使用したのは、latest, 1.565.3 (Dockerfile)です。
Official Jenkins Docker image
FROM java:openjdk-7u65-jdk
RUN apt-get update && apt-get install -y wget git curl zip && rm -rf /var/lib/apt/lists/*
ENV JENKINS_VERSION 1.565.3
RUN mkdir /usr/share/jenkins/
RUN useradd -d /home/jenkins -m -s /bin/bash jenkins
COPY init.groovy /tmp/WEB-INF/init.groovy.d/tcp-slave-angent-port.groovy
RUN curl -L http://mirrors.jenkins-ci.org/war-stable/$JENKINS_VERSION/jenkins.war -o /usr/share/jenkins/jenkins.war \
&& cd /tmp && zip -g /usr/share/jenkins/jenkins.war WEB-INF/init.groovy.d/tcp-slave-angent-port.groovy && rm -rf /tmp/WEB-INF
ENV JENKINS_HOME /var/jenkins_home
RUN usermod -m -d "$JENKINS_HOME" jenkins && chown -R jenkins "$JENKINS_HOME"
VOLUME /var/jenkins_home
# for main web interface:
EXPOSE 8080
# will be used by attached slave agents:
EXPOSE 50000
USER jenkins
COPY jenkins.sh /usr/local/bin/jenkins.sh
ENTRYPOINT ["/usr/local/bin/jenkins.sh"]
Java is a concurrent, class-based, and object-oriented programming language.
java:openjdk-7u65-jdkは既にアップデートされていたが、基本構成は同じ
FROM debian:jessie
# A few problems with compiling Java from source:
# 1. Oracle. Licensing prevents us from redistributing the official JDK.
# 2. Compiling OpenJDK also requires the JDK to be installed, and it gets
# really hairy.
ENV JAVA_VERSION 7u71
ENV JAVA_DEBIAN_VERSION 7u71-2.5.3-2
RUN apt-get update && apt-get install -y curl openjdk-7-jdk="$JAVA_DEBIAN_VERSION" unzip wget
# If you're reading this and have any feedback on how this image could be
# improved, please open an issue or a pull request so we can discuss it!