Docker和jenkins实现springboot自动部署

准备:

一个springboot项目、一台虚拟机(centos 7)。

安装:

  1. linux安装docker

    更新yum:yum update

    下载docker: yum –y install docker-engine

     

                 2、下载jenkins之前安装jdk:

    查找所有jdk版本: yum -y list java*

    找到正确得版本:

              

      下载jdk:yum –y install java-1.8.0-openjdk-devel.x86_64

    检查jdk版本: java –version

    查找java位置:whereis java

                           

      3、下载jenkins:

          yumrepos默认没有Jenkins,先将Jenkins加入存储库yum repos

   sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo

        sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

        安装jenkins yum –y install jenkins

         

          配置jenkins: vi /etc/sysconfig/Jenkins

        原本下图圈起部分为jenkins8080,我们修改为root9000(0:65535

        中随便取,只要不端口未被其他进程占用)

         

部署与配置

       1、启动dockerservice docker start

       2、启动jenkinsservice jenkins start

          3ipconfigip

       4、在浏览器输入ip:9000,进入初始页面

         

       5、获取password tail /var/lib/jenkins/secrets/initialAdminPassword

         

          6、将密码拷入浏览器,continue

       7、点击推荐安装插件、之后耐心等待安装

         

       8、安装完成进入管理员注册页面、根据提示注册账号,进入。

                              Tips:如果忘了账号密码。

           找到jenkinsconfig.xml: cd /var/lib/Jenkins

         

         修改vi config.xml:删除下列部分:

         

       9、如果git下不下来,那就去重下

         

         选择可选插件,搜索git,下载即可。

         

     如果还是不行,自己去找别的教程吧,或者有的时候你重新弄的时候发现你可以下载了。【狗头】

工程配置

       1、工程根目录下新建Dockerfile

           

1  FROM: 生成镜像的jdk环境
2 
3   ADD 将target下的jar包加入镜像
4 
5  VOLUME
6 
7  EXPOSE 80 docker暴露给外界的端口80
8 
9  ENTRYPOINT 启动app.jar

           2、新建start.sh       

 1 cd `dirname $0`                 #进入根目录
 2 
 3 proj_home=$PWD                  #工程根目录
 4 img_output=${image}          #生成镜像标签
 5 appname=${name}                   #容器名称
 6 port=80                         #docker暴露端口
 7 
 8 #  mvn打包镜像
 9 docker run  --rm doc--name my-maven-project -v /root/.m2:/root/.m2 -v "$PWD":/usr/src/mymaven -w /usr/src/mymaven maven:3.5.0-jdk-8-alpine mvn clean install
10 # 获得docker容器 id和镜像 id
11 r_c=`docker ps -a | grep "$appname" | awk '{print $1 }'`
12 c=`docker ps -a | grep "$appname" | awk '{print $1 }'`
13 r_img=`docker images | grep "$appname" | awk '{print $3 }'`
14 # 如果容器正在运行,停止它
15 if [ "$r_c"x != ""x ]; then
16     docker stop "$r_c"
17 fi
18 # 删除容器
19 if [ "$c"x != ""x ]; then
20     docker rm "$c"
21 fi
22 # 删除镜像
23 if [ "$r_img"x != ""x ]; then
24     docker rmi "$r_img"
25 fi
26 
27 # 生成镜像
28 docker build -t $img_output .
29 # 日志目录
30 mkdir -p $PWD/logs
31 chmod 777 $PWD/logs
32 
33 # 启动镜像  8086为工程的端口
34 docker run -d --name $appname -p $port:8086 $img_output

Jenkins自动化配置

  1. 新建任务

                               输入任务名称、选择一个自由风格的软件项目。确定。

       

          2.设置:找到源码管理:填入远程仓库http。

                               点击【添加】,添加认证:你的username和password。添加完毕后,返回选择即可。

        

          3.构建触发器选择轮询SCM:每分钟检查代码是 * * * * * 。

                               圈起来的部分是轮询机制帮助

        

          4.构建选择执行shell

         

        填入命令:

        cd /var/lib/jenkins/workspace/yifeng

        ./start.sh

        点击保存。

        5.查看

           【立即构建】,然后点击最新的构建,进入。选择控制台输出

          

         

           

          这样算成功了。可以在浏览器测试工程的接口了。

          Tips:控制台输出第二行 是linux上的工作空间。 /var/lib/jenkins/workspace/${name}

最后

          第一次构建可能比较久,日志会不一样,因为docker需要pull java:8maven:3.5.0-jdk-8-alpine。如果是在日志上是卡到maven的话可以去网上查找docker拉取镜像加速的教程,多试几次就可以了。

转载于:https://www.cnblogs.com/zhuyan521/p/10791121.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值