一、安装Docker

1、在 CentOS 7安装docker要求系统为64位、系统内核版本为 3.10 以上

查看版本以及系统位数

lsb_release -a

2、用yum安装Docker

2.1 查看是否已安装docker列表

 yum list installed | grep docker

2.2 安装Docker

yum -y install docker

 2.3 启动Docker

systemctl start docker

2.4 查看Docker服务状态

 二、Docker中安装Jenkins

1、使用Docker安装Jenkins

docker run -p 8080:8080 -p 50000:50000 -v jenkins_data:/var/jenkins_home jenkinsci/blueocean

2、访问Jenkins

http://ip:8080

3、切换到Docker环境中的Jenkins容器中

 查询Jenkins容器ID

docker ps

 进入Jenkins容器(容器ID为上图标红)

docker exec -it a080ade07ba2 /bin/bash

 

 4、查询Jenkins密码

 cat /var/jenkins_home/secrets/initialAdminPassword

 5、选择【安装推荐的插件】

6、创建新用户 

 

 7、Jenkins全局工具配置

配置jdk,默认Docker容器安装的版本较高,所以选择jdk1.8

 配置Maven

8、安装Jenkins对应的Maven插件

 插件名称 Maven Integration

 安装并重启 Jenkins

三、Jenkins实现Springboot项目自动部署

1、创建一个任务  JenkinsSpringBoot

 2、配置git账号(添加git账号密码)

 3、配置项目打包  

clean install

 4、点击立即构建

 第一次构建需要下载依赖,耗费时间较长

4、配置shell脚本

上一步【立即构建】只是把项目打包了,并不会自动运行,所以需要配置运行脚本

 

shell脚本

#!/bin/bash
#服务名称
SERVER_NAME=JenkinsSpringBoot
# 源jar路径,mvn打包完成之后,target目录下的jar包名称,也可选择成为war包,war包可移动到Tomcat的webapps目录下运行,这里使用jar包,用java -jar 命令执行  
JAR_NAME=jenkins-demo-0.0.1-SNAPSHOT
# 源jar路径  
#/usr/local/jenkins_home/workspace--->jenkins 工作目录
#demo 项目目录
#target 打包生成jar包的目录
JAR_PATH=/var/jenkins_home/workspace/JenkinsSpringBoot/target
# 打包完成之后,把jar包移动到运行jar包的目录--->work_daemon,work_daemon这个目录需要自己提前创建
JAR_WORK_PATH=/var/jenkins_home/workspace/JenkinsSpringBoot/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 "killed $id"  
done
echo "结束进程完成"
#复制jar包到执行目录
echo "复制jar包到执行目录:cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH"
echo "复制jar包完成"
cd $JAR_WORK_PATH
#修改文件权限
chmod 755 $JAR_NAME.jar
BUILD_ID=dontKillMe nohup java -jar $JAR_NAME.jar &

5、点击【立即构建】

点击圈中的地方可以看控制台日志

6、访问http://ip:9090/index (git项目访问路径)

发现并不能访问

因为docker容器中的端口号没有映射,在本地浏览器是无法访问容器内项目

四、容器中映射项目端口号

1、重启docker容器

退出Jenkins容器:exit

重启docker容器:systemctl restart  docker

  2. 清空未运行的容器

docker rm $(sudo docker ps -a -q)

3、配置docker容器中的git项目端口号映射,并重启

docker run -p 8080:8080 -p 9090:9090 -p 50000:50000 -v jenkins_data:/var/jenkins_home jenkinsci/blueocean

其中 -p 9090:9090 为git项目的端口号

4、登录Jenkins并构建JenkinsSpringboot任务

4、访问http://ip:9090/index 

五、Jenkins时间与服务器时间同步

在构建历史中可以发现时间与服务器不统一

设置Jenkins时间

System.setProperty('org.apache.commons.jelly.tags.fmt.timeZone', 'Asia/Shanghai')

 

以上就是Jenkis自动化部署项目

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐