博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Docker学习笔记五:Docker生成jenkins容器,支持Java Web项目持续集成、持续部署
阅读量:6793 次
发布时间:2019-06-26

本文共 2134 字,大约阅读时间需要 7 分钟。

一、创建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 root
RUN apt-get update && apt-get install -y sudo && rm -rf /var/lib/apt/lists/*
RUN echo "jenkins ALL=NOPASSWD: ALL" >> /etc/sudoers
USER 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.点击立即保存,立即构建

 

转载于:https://www.cnblogs.com/sishang/p/6511372.html

你可能感兴趣的文章
explorer.exe
查看>>
maven 发布项目到docker
查看>>
我的友情链接
查看>>
sed 详细用法
查看>>
保护你的/wp-admin/文件夹
查看>>
tk.mapper 通用 mapper 动态表名查询
查看>>
12个优秀的国外Material Design网站案例
查看>>
MYSQL添加用户、建表、权限
查看>>
java之抽象类
查看>>
[2]工欲善其事必先利其器-------UML中的几种常见关系(二)
查看>>
一些二进制问题的巧妙方法
查看>>
iOS开发 - 如何获取设备的总容量和可用容量 网络运营商 3g/wifi判断 手机型号
查看>>
【在他乡】好用,用好MindManager
查看>>
可能是Windows下最简单的Java环境安装指南
查看>>
防范Sql注入式攻击
查看>>
创建3层的服务模板 (3)-- Guest OS Profile, Hardware Profile 和 IP Pools
查看>>
批量删除mysql一个库所有数据表方法
查看>>
切换jdk,tomcat脚本
查看>>
nginx优化
查看>>
从图形化界面安装RHEL5操作系统详解
查看>>