一、创建jenkins容器:
1.拉取jeknin镜像
sudo docker pull jenkins
2.创建一个jenkins目录
sudo mkdir /jenkins
3.在jenkins目录下创建一个Dockerfile
sudo touch Dockerfile
4.为了在jenkins容器中具有执行sudo命令的权限,在Dockerfile添加如下内容:
FROM jenkins
USER rootRUN apt-get update && apt-get install -y sudo && rm -rf /var/lib/apt/lists/*RUN echo "jenkins ALL=NOPASSWD: ALL" >> /etc/sudoersUSER jenkins 5.创建新的jenkins镜像sudo docker build -t zss/jenkins:1.0 .
6.创建jenkins容器
sudo docker run -p 8080:8080 --name jenkins
-v /usr/bin/docker:/usr/bin/docker
-v /var/run/docker.sock:/var/run/docker.sock //将宿主机中docker挂载到jenkins容器中,以便在jenkins容器中执行docker命令
-v /usr/jdk/jdk1.7.0_25:/usr/java/jdk1.7.0_25 //将宿主机中jdk挂载到jenkins容器中
-v /usr/tomcat/apache-tomcat-7.0.29:/usr/tomcat/apache-tomcat-7.0.29 //将宿主机中tomcat挂载到jenkins容器中
-v /usr/maven/apache-maven-3.3.9:/usr/maven/apache-maven-3.3.9 //将宿主机中tomcat挂载到jenkins容器中
zss/jenkins:1.0
7.在浏览器中输入http://localhost:8080,填写启动jenkins时出现的密码
二、配置jenkins:
1.安装svn、maven插件
2.在jenkins中配置jdk、maven如图:
三、配置Java web项目:
1.创建一个maven风格的test项目
2.配置test
四、书写Shell脚本来构建Java Web镜像和容器:
1.在Post Steps目录中选择
填写如下Shell脚本
#!/bin/bash
imageId=`sudo docker images|grep -i test|awk '{print $3}'` echo "Test镜像ID = "$imageId containId=`sudo docker ps -a |grep -i test|awk '{print $1}'` echo "Test容器ID = "$containId project=/var/jenkins_home/workspace/test/src/main/resources/docker#判断是否存在旧的Test镜像 if test -z "$imageId" then echo "Test镜像不存在" else if test -z "$containId" then echo "Test容器不存在" else echo "Test容器将要被执行stop命令" sudo docker stop test echo "Test容器处于stop状态" fi echo "旧Test镜像将要被删除" sudo docker rmi -f $imageId echo "成功删除旧Test镜像" fi#Dockerfile所在目录 sudo mv $project/Dockerfile /usr#切换目录至usr cd /usr#将Tms war包拷贝到Dockerfile所在目录下 sudo mv /var/jenkins_home/workspace/test/target/test.war . echo "Test镜像构建中:------->"#构建Tms镜像 sudo docker build -t test .#判断是否存在旧的Tms容器 if test -z "$containId" then echo "Test容器不存在" else echo "旧Test容器将要被删除" sudo docker rm -f $containId echo "成功删除旧Test容器" fi#创建容器 echo "开始创建新Test容器" sudo docker run -d -p 8088:8080 -v /usr/logs:/usr/tomcat/logs --name test test echo "新Test容器创建成功"2.点击立即保存,立即构建