Docker集成Jenkins自动化部署SpringBoot-Jenkins自动化部署SpringBoot到Docker(转)
原文:http://www.html580.com/study/247.html
springboot源码测试例子
https://gitee.com/html580/boot
一、Docker集成Jenkins自动化部署SpringBoot
1.使用docker 安装jenkins
docker run -p 8080:8080 -p 50000:50000 -v jenkins_data:/var/jenkins_home jenkinsci/blueocean
2.访问jenkins地址 8080
注意:第一次启动的时候正在加载jenkins大概会等待3-10分钟。
3.解锁jenkins
查看容器 docker ps -a 找到对应的jenkins容器ID
进入jenkins容器:docker exec -it diygwcombd95c3b /bin/bash
查看密码:cat /var/jenkins_home/secrets/initialAdminPassword
4、选择推荐插件
大概需要等待3-10分钟
5、创建新的用户(建议创建下)
6、Jenkins全局工具配置
1)JDK环境安装
进入到jenkins容器中获取java环境安装地址
echo $JAVA_HOME
2)Maven环境安装
7、安装Jenkins对应Maven插件
1)找到 “系统管理“ - “安装插件” ,点击 “可选插件”,找到如下maven插件的版本
插件名称 Maven Integration
二、Jenkins实现Springboot项目自动部署
1、新建一个Maven发布任务
2、配置任务git账号密码,也可以是svn
3、项目打包
clean install
4、点击立即构建
第一次构建可能耗时比较长,因为需要下载一些相关依赖jar包
5、Jenkins启动成功之后执行shell脚本
#!/bin/bash #docker里集成jenkins自动化部署springboot #服务名称 SERVER_NAME=boot #源JAR/WAR名称 JAR_NAME=boot-0.0.1-SNAPSHOT #打包目录 JAR_PATH=/var/jenkins_home/workspace/spring-boot/target/ #执行目录,根据实际要求是否修改目录 JAR_WORK_PATH=/var/jenkins_home/target/ echo "查询进程ID-->$SERVER_NAME" PID=`ps -ef | grep "$SERVER_NAME" | awk "{print $2}"` echo "得到进程ID-->$PID" echo "结束进程开始" #for id in $PID #do # kill -9 $id # echo "结束进程ID-->$id" #done kill -9 $PID echo "结束进程结束" echo "复制jar包到执行目录:cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH" mkdir -p $JAR_WORK_PATH cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH echo "复制JAR包成" cd $JAR_WORK_PATH chmod 755 $JAR_NAME.jar java -jar $JAR_NAME.jar
Jenkins自动化部署SpringBoot到Docker
1、安装JDK
yum install -y java
2、安装jenkins
添加Jenkins库到yum库,Jenkins将从这里下载安装。
1 wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
2 rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
3 yum install -y jenkins
如果不能安装就到官网下载jenkis的rmp包,官网地址(http://pkg.jenkins-ci.org/redhat-stable/)
1 wget http://pkg.jenkins-ci.org/redhat-stable/jenkins-2.7.3-1.1.noarch.rpm
2 rpm -ivh jenkins-2.7.3-1.1.noarch.rpm
配置jenkis的端口
vi /etc/sysconfig/jenkins
找到修改端口号:
JENKINS_PORT="8080" 此端口不冲突可以不修改
3、启动jenkins
service jenkins start/stop/restart
安装成功后Jenkins将作为一个守护进程随系统启动
系统会创建一个“jenkins”用户来允许这个服务,如果改变服务所有者,同时需要修改/var/log/jenkins, /var/lib/jenkins, 和/var/cache/jenkins的所有者
启动的时候将从/etc/sysconfig/jenkins获取配置参数
默认情况下,Jenkins运行在8080端口,在浏览器中直接访问该端进行服务配置
Jenkins的RPM仓库配置被加到/etc/yum.repos.d/jenkins.repo
4、打开jenkins
在浏览器中访问
首次进入会要求输入初始密码如下图,
初始密码在:/var/lib/jenkins/secrets/initialAdminPassword
选择“Install suggested plugins”安装默认的插件,下面Jenkins就会自己去下载相关的插件进行安装。
创建超级管理员账号
Jenkins全局工具配置
配置JDK,MAVEN。
查看JDK安装路径
ls -lrt /usr/bin/java
ls -lrt /etc/alternatives/java即可得到JAVA安装路径
2)Maven环境安装
7、安装Jenkins对应Maven插件
1)找到 “系统管理“ - “安装插件” ,点击 “可选插件”,找到如下maven插件的版本
插件名称 Maven Integration
二、Jenkins实现Springboot项目自动部署
1、新建一个Maven发布任务
2、配置任务git账号密码,也可以是svn
3、项目打包
clean install
4、点击立即构建
第一次构建可能耗时比较长,因为需要下载一些相关依赖jar包
5、Jenkins启动成功之后执行shll脚本
#!/bin/bash mkdir -p /var/lib/jenkins/target cp -f /var/lib/jenkins/workspace/boot/target/boot-0.0.1-SNAPSHOT.jar /var/lib/jenkins/target/boot.jar echo "开始运行" echo "停止boot" docker stop boot echo "删除boot" docker rm boot #-d : 以服务的方式启动容器 #--name:为容器命名,以后可以直接以docker start boot的方式启动该容器 #-p 8888:8888 : 虚拟机的8888端口号映射容器内的8888端口号 #-v :将虚拟机的 /var/lib/jenkins/target/目录到/usr目录 #java:8u111 内置java镜像 #java -jar /usr/boot.jar :在容器内的启动命令 docker run -it -d -p 8888:8888 -v /var/lib/jenkins/target/boot.jar:/usr/boot.jar --name boot java:8u111 java -jar /usr/boot.jar echo "执行完毕,浏览器打开IP:8888浏览"