当前位置: > 其它学习 > Jenkins >

持续集成管理软件Jenkins应用实验

时间:2019-07-27 14:02来源:linux.it.net.cn 作者:IT
编写Dockerfile文件
(1)创建一个目录jenkins,保存相关的配置信息和内容,在#后输入mkdir Jenkins&&cd Jenkins命令,然后按Enter键,创建Jenkins目录并进入该目录。示例代码如下:
[root@it ~]# mkdir jenkins&&cd jenkins
 
[root@it jenkins]#
 
(2)创建Dockerfile文件,在#后输入vi Dockerfile命令,然后按Enter键,创建Dockerfile文件。示例代码如下:
 
[root@it jenkins]# vi Dockerfile
 
Dockerfile文件的内容,如下所示:
 
FROM ubuntu:14.04.3
 
MAINTAINER james@example.com
 
ENV REFRESHED_AT 2016-12-25
 
RUN apt-get update -qq && apt-get install -qqy curl apt-transport-https
 
RUN apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:0 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
 
RUN echo deb https://apt.dockerproject.org/repo ubuntu-trusty main > /etc/apt/sources.list.d/docker.list
 
RUN apt-get update -qq && apt-get install -qqy iptables ca-certificates openjdk-7-jdk git-core docker.io
 
ENV JENKINS_HOME /opt/jenkins/data
 
ENV JENKINS_MIRROR http://mirrors.jenkins-ci.org
 
RUN mkdir -p $JENKINS_HOME/plugins
 
RUN curl -f -o /opt/jenkins/jenkins.war -L $JENKINS_MIRROR/war-stable/latest/jenkins.war
 
RUN for plugin in chucknorris greenballs scm-api git-client git ws-cleanup; do curl -sf -o $JENKINS_HOME/plugins/${plugin}.hpi -L $JENKINS_MIRROR/plugins/${plugin}/latest/${plugin}.hpi; done
 
ADD ./dockerjenkins.sh /usr/local/bin/dockerjenkins.sh
 
RUN chmod +x /usr/local/bin/dockerjenkins.sh
 
VOLUME /var/lib/docker
 
EXPOSE 8080
 
ENTRYPOINT [ "/usr/local/bin/dockerjenkins.sh" ]
 
Dockerfile说明:
 
l jenkins的dockerfile继承了ubuntu:14.0.4.3镜像。
 
l apt-key命令用于管理Debian Linux系统中的软件包密钥。每个发布的deb包,都是通过密钥认证的,apt-key用来管理密钥。
 
l 安装源加入需要的docker apt仓库,并安装执行Docker和Jenkins所需要的包。
 
l 创建“/opt/jenkins”目录,下载jenkins.war到这个目录,并下载Jenkins插件。
 
l 使用ENV指令把JENKINS_HOME和JENKINS_MIRROR环境变量设置为Jenkins的数据目录和镜像站点。
 
l 使用VOLUME指令指定/var/lib/docker数据卷,运行容器内部使用宿主机的文件系统作为容器的存储。这样容器的“/var/lib/docker”目录将保存在宿主机系统的“/var/lib/docker/volumes”目录下。
 
l Jenkins默认对外的8080端口。
 
l 最后指定要运行的shell脚本,作为容器的启动命令。这个shell脚本帮助在宿主机上配置Docker,允许在Docker容器里运行Docker,开启Docker守护进程,并且启动Jenkins。
 
(3)使用wget的方式下载dockerjenkins.sh文件,在#后面输入wget https://raw.githubusercontent.com/jamtur01/dockerbook-code/master/code/5/jenkins/dockerjenkins.sh命令,然后按Enter键,下载文件。示例代码如下所示:
 
[root@it jenkins]# wget https://raw.githubusercontent.com/jamtur01/dockerbook-code/master/code/5/jenkins/dockerjenkins.sh
 
下载成功,如图1所示:
 




 
(4)配置文件的权限,在#后输入chmod 0755 dockerjenkins.sh命令,然后按Enter键,给dockerjenkins.sh文件授权。示例代码如下:
 
[root@it jenkins]# chmod 0755 dockerjenkins.sh
 
(5)构建docker-jnekins镜像,在#后面输入docker build -t jamtur01/dockerjenkins .命令,构建镜像。示例代码如下:
 
[root@it jenkins]# docker build -t jamtur01/dockerjenkins .
 
构建镜像成功,如图2所示:


 
 
(6)查看构建的镜像,在#后面输入docker images命令,查看镜像。示例代码如下:
 
[root@it jenkins]# docker images
 
查询镜像,如图3所示:
 

 
构建Jenkins应用
 
(1) 在#后输入docker run -p 8080:8080 --name jenkins --privileged -d jamtur01/dockerjenkins命令,然后按Enter键,运行docker-jenkins镜像,示例代码如下:
[root@it jenkins]# docker run -p 8080:8080 --name jenkins --privileged -d jamtur01/dockerjenkins
 
注:若端口被占用,请使用新端口号。
 
运行成功,如图4所示:
 
 
(责任编辑:IT)
------分隔线----------------------------