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浏览"
原文地址:https://www.cnblogs.com/ltian123/p/14214772.html