首页 > 其他 > 详细

基于Docker+Jenkins实现自动化部署

时间:2019-05-22 00:53:36      阅读:329      评论:0      收藏:0      [点我收藏+]

使用码云搭建Git代码存储仓库

 https://gitee.com/login 

  1. 使用码云创建私有私有git仓库
  2. 将本地springboot项目上传到git仓库中

 

基于Docker安装Jenkins环境

 

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 exec -it 7f485bd95c3b  /bin/bash 进入jenkins容器 

cat /var/jenkins_home/secrets/initialAdminPassword

 技术分享图片

大概需要等待3-10分钟

创建新的用户

 技术分享图片

 

 技术分享图片

 

 

 

 

Jenkins全局工具配置

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

 

JDK环境安装

技术分享图片

 

 

Maven环境安装

 技术分享图片

 

 

安装Jenkins对应Maven插件

找到 “系统管理“ - “安装插件” ,点击 “可选插件”,找到如下maven插件的版本  

插件名称 Maven Integration

技术分享图片

技术分享图片

 

 

Jenkins实现Springboot项目自动部署

  1. 新建一个发布任务

 技术分享图片

 

  1. 配置任务git账号密码

 技术分享图片

 

 

   3.项目打包

 技术分享图片

 

 

   clean install

  1. 点击立即构建

 技术分享图片

 

 第一次构建可能耗时比较长,因为需要下载一些相关依赖jar包

 


Jenkins启动成功之后执行shll脚本

#!/bin/bash

#服务名称

SERVER_NAME=springboot

# 源jar路径,mvn打包完成之后,target目录下的jar包名称,也可选择成为war包,war包可移动到Tomcat的webapps目录下运行,这里使用jar包,用java -jar 命令执行  

JAR_NAME=springboot-0.0.1-SNAPSHOT

# 源jar路径  

#/usr/local/jenkins_home/workspace--->jenkins 工作目录

#demo 项目目录

#target 打包生成jar包的目录

JAR_PATH=/var/jenkins_home/workspace/springboot/target

# 打包完成之后,把jar包移动到运行jar包的目录--->work_daemon,work_daemon这个目录需要自己提前创建

JAR_WORK_PATH=/var/jenkins_home/workspace/springboot/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"

cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH

echo "复制jar包完成"

cd $JAR_WORK_PATH

#修改文件权限

chmod 755 $JAR_NAME.jar

 

Nohub  java -jar $JAR_NAME.jar

nohub 指的是后台运行,或者使用nohub &

容器映射8081端口

1. 重启容器

systemctl restart  docker  

 2. 清空未运行的容器

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

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

 

 

 

基于Docker+Jenkins实现自动化部署

原文:https://www.cnblogs.com/ming-blogs/p/10903408.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!