Docker+JenKins实现自动化部署

说明:

 个人记录,仅供参考!(有点仓促)

流程:

  Docker+JenKins实现自动化部署_第1张图片

 

1、安装Docker

 参考我之前的博客:https://blog.csdn.net/qq_42766492/article/details/90316211

2、安装Jenkins

一条命令搞定

 docker run -d --name jenkins -p 8080:8080   -p 8001:8001   -p 50000:50000 -v jenkins_data:/var/jenkins_home jenkinsci/blueocean

 注意:jenkinsWeb访问的端口号是8080, 8001是待会要测试项目的端口号

3、配置Jenkins

第一次的时候需要解锁:去指定目录获取密码

进入容器里面

docker exec -it jenkins /bin/bash 

查看密码

cat /var/jenkins_home/secrets/initialAdminPassword

安装推荐插件

创建新用户

配置环境

Docker+JenKins实现自动化部署_第2张图片

 

进入到jenkins容器中 获取java环境安装地址

echo $JAVA_HOME

Docker+JenKins实现自动化部署_第3张图片

 

配置JDK,不要自动安装,用容器里面的

Docker+JenKins实现自动化部署_第4张图片

配置Maven(自动安装即可,注意跟项目版本对应)

Docker+JenKins实现自动化部署_第5张图片

 保存即可。

添加maven项目插件

Docker+JenKins实现自动化部署_第6张图片

 

点击 “可选插件”,找到如下maven插件的版本 

插件名称 Maven Integration

Docker+JenKins实现自动化部署_第7张图片

 选择直接安装,安装完成后重启JenKins即可

4、准备项目

创建springboot项目push到远程仓库,获取URI

Docker+JenKins实现自动化部署_第8张图片

 Jenkins构建项目

Docker+JenKins实现自动化部署_第9张图片

Docker+JenKins实现自动化部署_第10张图片

选择maven项目确定即可

配置任务

Docker+JenKins实现自动化部署_第11张图片

Docker+JenKins实现自动化部署_第12张图片

Docker+JenKins实现自动化部署_第13张图片

 构建任务成功后执行一段指定的Shell脚本

Docker+JenKins实现自动化部署_第14张图片

#!/bin/bash
#服务名称
SERVER_NAME=TestJenKins
# 源jar路径,mvn打包完成之后,target目录下的jar包名称
JAR_NAME=TestJenKins-1.0-SNAPSHOT
# 源jar路径  
#target 打包生成jar包的目录
JAR_PATH=/var/jenkins_home/workspace/TestJenKins/target/
JAR_WORK_PATH=/var/jenkins_home/workspace/TestJenKins/target/

echo "查询进程id-->$SERVER_NAME"
PID=`ps -ef | grep "$SERVER_NAME" | awk '{print $1}'`
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"
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  &

 点击保存即可,开始构建任务

Docker+JenKins实现自动化部署_第15张图片

查看输出

Docker+JenKins实现自动化部署_第16张图片

第一次的时候要下载很多jar包

访问项目

Docker+JenKins实现自动化部署_第17张图片

5、测试

Docker+JenKins实现自动化部署_第18张图片

重新构建项目

Docker+JenKins实现自动化部署_第19张图片

左下角可以查看控制台输出

Docker+JenKins实现自动化部署_第20张图片

Docker+JenKins实现自动化部署_第21张图片

 

再次刷新网页

Docker+JenKins实现自动化部署_第22张图片

 

注意:

这是一台服务器上的部署!

注意内存!!!!!!

 

台上三分钟,台下十年功。

 

 

你可能感兴趣的:(运维)