天天看点

【Docker+Jenkins】三、Jenkins连接Git自动打包部署一、新建任务二、对任务进行配置三、自动化打包构建四、自动化部署五、开始自动构建六、配置端口映射访问项目七、一直转圈圈

一、基于Docker部署安装Jenkins

二、Jenkins私服配置、环境配置与插件安装

三、Jenkins连接Git自动打包部署

目录

一、新建任务

二、对任务进行配置

2.1、配置项目

2.2、添加Git配置

2.3、配置构建Build

2.4、保存更改

三、自动化打包构建

四、自动化部署

4.1、配置Shell脚本

五、开始自动构建

六、配置端口映射访问项目

七、一直转圈圈

一、新建任务

点击新建任务菜单

【Docker+Jenkins】三、Jenkins连接Git自动打包部署一、新建任务二、对任务进行配置三、自动化打包构建四、自动化部署五、开始自动构建六、配置端口映射访问项目七、一直转圈圈

输入名称,选择构建一个Maven项目,点击确定

【Docker+Jenkins】三、Jenkins连接Git自动打包部署一、新建任务二、对任务进行配置三、自动化打包构建四、自动化部署五、开始自动构建六、配置端口映射访问项目七、一直转圈圈

点击保存即可

【Docker+Jenkins】三、Jenkins连接Git自动打包部署一、新建任务二、对任务进行配置三、自动化打包构建四、自动化部署五、开始自动构建六、配置端口映射访问项目七、一直转圈圈

任务信息

回到页面即可看到信息,由于刚建立的任务所以并没有上次记录,菜单可以对任务进行一些设置等

【Docker+Jenkins】三、Jenkins连接Git自动打包部署一、新建任务二、对任务进行配置三、自动化打包构建四、自动化部署五、开始自动构建六、配置端口映射访问项目七、一直转圈圈

二、对任务进行配置

2.1、配置项目

【Docker+Jenkins】三、Jenkins连接Git自动打包部署一、新建任务二、对任务进行配置三、自动化打包构建四、自动化部署五、开始自动构建六、配置端口映射访问项目七、一直转圈圈

点击配置

【Docker+Jenkins】三、Jenkins连接Git自动打包部署一、新建任务二、对任务进行配置三、自动化打包构建四、自动化部署五、开始自动构建六、配置端口映射访问项目七、一直转圈圈

2.2、添加Git配置

发现回到了建立项目时的配置处

点击源码管理->添加Git->按步骤

【Docker+Jenkins】三、Jenkins连接Git自动打包部署一、新建任务二、对任务进行配置三、自动化打包构建四、自动化部署五、开始自动构建六、配置端口映射访问项目七、一直转圈圈

码云Http地址查看示例

【Docker+Jenkins】三、Jenkins连接Git自动打包部署一、新建任务二、对任务进行配置三、自动化打包构建四、自动化部署五、开始自动构建六、配置端口映射访问项目七、一直转圈圈

由于仓库是私密的,所以需要配置密码,添加Jenkins

【Docker+Jenkins】三、Jenkins连接Git自动打包部署一、新建任务二、对任务进行配置三、自动化打包构建四、自动化部署五、开始自动构建六、配置端口映射访问项目七、一直转圈圈

添加凭据 -> 用户名和密码为Git配置的用户名和密码 -> 点击添加即可

【Docker+Jenkins】三、Jenkins连接Git自动打包部署一、新建任务二、对任务进行配置三、自动化打包构建四、自动化部署五、开始自动构建六、配置端口映射访问项目七、一直转圈圈

添加之后一定要点击选择

【Docker+Jenkins】三、Jenkins连接Git自动打包部署一、新建任务二、对任务进行配置三、自动化打包构建四、自动化部署五、开始自动构建六、配置端口映射访问项目七、一直转圈圈

Git配置完成

【Docker+Jenkins】三、Jenkins连接Git自动打包部署一、新建任务二、对任务进行配置三、自动化打包构建四、自动化部署五、开始自动构建六、配置端口映射访问项目七、一直转圈圈

2.3、配置构建Build

输入clean install 表示打包 即可

【Docker+Jenkins】三、Jenkins连接Git自动打包部署一、新建任务二、对任务进行配置三、自动化打包构建四、自动化部署五、开始自动构建六、配置端口映射访问项目七、一直转圈圈

2.4、保存更改

三、自动化打包构建

点击立即构建即可

【Docker+Jenkins】三、Jenkins连接Git自动打包部署一、新建任务二、对任务进行配置三、自动化打包构建四、自动化部署五、开始自动构建六、配置端口映射访问项目七、一直转圈圈

单击控制台输出可以看到日志信息

【Docker+Jenkins】三、Jenkins连接Git自动打包部署一、新建任务二、对任务进行配置三、自动化打包构建四、自动化部署五、开始自动构建六、配置端口映射访问项目七、一直转圈圈

日志信息简介

【Docker+Jenkins】三、Jenkins连接Git自动打包部署一、新建任务二、对任务进行配置三、自动化打包构建四、自动化部署五、开始自动构建六、配置端口映射访问项目七、一直转圈圈

首次运行会下载很多jar文件,需要耐心等待

【Docker+Jenkins】三、Jenkins连接Git自动打包部署一、新建任务二、对任务进行配置三、自动化打包构建四、自动化部署五、开始自动构建六、配置端口映射访问项目七、一直转圈圈

构建完成

【Docker+Jenkins】三、Jenkins连接Git自动打包部署一、新建任务二、对任务进行配置三、自动化打包构建四、自动化部署五、开始自动构建六、配置端口映射访问项目七、一直转圈圈

构建完成会提示SUCCESS,根据Install的路径在容器内cd进入然后查看jar文件,如图:

【Docker+Jenkins】三、Jenkins连接Git自动打包部署一、新建任务二、对任务进行配置三、自动化打包构建四、自动化部署五、开始自动构建六、配置端口映射访问项目七、一直转圈圈

四、自动化部署

首先部署有两种第一种当然就是Java -jar运行如图:

【Docker+Jenkins】三、Jenkins连接Git自动打包部署一、新建任务二、对任务进行配置三、自动化打包构建四、自动化部署五、开始自动构建六、配置端口映射访问项目七、一直转圈圈

当然这种方式并没有多大作用,来看看自动部署

4.1、配置Shell脚本

找到需要配置的项目,设置点击执行Shell

【Docker+Jenkins】三、Jenkins连接Git自动打包部署一、新建任务二、对任务进行配置三、自动化打包构建四、自动化部署五、开始自动构建六、配置端口映射访问项目七、一直转圈圈

输入该段命令

#!/bin/bash
#服务名称  尽量与Jenkins发布名称相同  当然Jenkins发布名称一般都会是项目名称
SERVER_NAME=2
# 源jar路径,mvn打包完成之后,target目录下的jar包名称,也可选择成为war包,war包可移动到Tomcat的webapps目录下运行,这里使用jar包,用java -jar 命令执行  
JAR_NAME=meitedu_springboot-0.0.1-SNAPSHOT
# 源jar路径  
#/usr/local/jenkins_home/workspace--->jenkins 工作目录
#demo 项目目录
#target 打包生成jar包的目录
JAR_PATH=/var/jenkins_home/workspace/2/target/
# 打包完成之后,把jar包移动到运行jar包的目录--->work_daemon,work_daemon这个目录需要自己提前创建,配置与上方相同则代表无处理
JAR_WORK_PATH=/var/jenkins_home/workspace/2/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
 
java -jar $JAR_NAME.jar

##BUILD_ID=dontKillMe nohup java -jar  $JAR_NAME.jar  &
           

保存即可

【Docker+Jenkins】三、Jenkins连接Git自动打包部署一、新建任务二、对任务进行配置三、自动化打包构建四、自动化部署五、开始自动构建六、配置端口映射访问项目七、一直转圈圈

五、开始自动构建

选择立即构建即可

【Docker+Jenkins】三、Jenkins连接Git自动打包部署一、新建任务二、对任务进行配置三、自动化打包构建四、自动化部署五、开始自动构建六、配置端口映射访问项目七、一直转圈圈

启动成功即可,会发现浏览器是访问不了的,但是可以根据 127.0.0.1+端口号在容器内部访问

六、配置端口映射访问项目

由于Jenkins在容器内部安装,所以需要配置映射,此时重启docker,删除已经存在的容器重新运行一遍即可

systemctl restart docker #重启docker
docker rm jenkins #删除已有的jenkins容器
#此命令代表内部访问为8080(容器) 外部访问为8087映射端口(浏览器) 50000为Jenkins信息,如下图
docker run -p 8080:8080   -p 8658:8658 -p 50000:50000 --name jenkins -v jenkins_data:/var/jenkins_home jenkinsci/blueocean
           
【Docker+Jenkins】三、Jenkins连接Git自动打包部署一、新建任务二、对任务进行配置三、自动化打包构建四、自动化部署五、开始自动构建六、配置端口映射访问项目七、一直转圈圈

运行命令后重新进入Jenkis部署一遍,即可通过 IP地址 + 端口号 在浏览器端进行访问项目了!

PS:在首页列表即可快速构建

【Docker+Jenkins】三、Jenkins连接Git自动打包部署一、新建任务二、对任务进行配置三、自动化打包构建四、自动化部署五、开始自动构建六、配置端口映射访问项目七、一直转圈圈

七、一直转圈圈

在运行时会发现即使成功构建也一直转圈圈显示未停止,那么原因是因为Java -jar运行方式本身就是前台运行的,修改配置文末尾运行命令即可

【Docker+Jenkins】三、Jenkins连接Git自动打包部署一、新建任务二、对任务进行配置三、自动化打包构建四、自动化部署五、开始自动构建六、配置端口映射访问项目七、一直转圈圈

java -jar $JAR_NAME.jar
           

替换为

BUILD_ID=dontKillMe nohup java -jar  $JAR_NAME.jar  &
           

即可

完成重启如图:不再转圈!

【Docker+Jenkins】三、Jenkins连接Git自动打包部署一、新建任务二、对任务进行配置三、自动化打包构建四、自动化部署五、开始自动构建六、配置端口映射访问项目七、一直转圈圈