1.环境搭建jenkins(docker安装)+github+springboot(手动部署)

1.安装docker   

https://blog.csdn.net/m0_37970699/article/details/103677596

Docker 相关命令:

https://blog.csdn.net/m0_37970699/article/details/105845267

 

2.docker 安装jenkins

docker search jenkins 选择最新的镜像

docker pull jenkins

 

在home目录下创建jenkins的工作空间挂载目录

 

mkdir jenkins

 

赋权 chmod 777 jenkins

 

然后,创建并运行jenkins容器

 

docker run -it --privileged -p 8000:8080 -p 50000:50000 -p 8001:8001

-v /home/jenkins:/var/jenkins_home 镜像id /bin/bash

 

解释命令:

 

1.环境搭建jenkins(docker安装)+github+springboot(手动部署)

--privileged 使容器继承宿主登录账号权限,用来同步工作空间数据

3个端口映射   由于宿主机8080被占用所以映射成了8000,你也可以映射成其他的,

容器的8080,50000两个端口是容器中jenkins使用的,8001是我们预留的测试项目的端口,我们这次jenkins与项目在同一个服务器下.

-v就是数据卷挂载,将容器中jenkins的工作空间挂载到宿主机上便于操作和备份.

然后,打开浏览器 ip:8000  可以看到jenkins页面说明部署成功

之后就是jenkins的基本的设置包括账户名,密码.这没什么好说的.主要是插件的安装:

在第一次进入jenkins时会让我们选择要安装的插件,选择右边的就行了,你也可以根据自己的情况删去一些(如果jenkins版本较低,需要更新一下jenkins,也是在manage jenkins里面)

1.环境搭建jenkins(docker安装)+github+springboot(手动部署)

1.环境搭建jenkins(docker安装)+github+springboot(手动部署)

我们需要的插件:

GitHub Integration Plugin,Maven Integration plugin,

Pipeline,Pipeline Maven Integration Plugin,  Pipeline: GitHub

目标:

我们最终的目的是实现 当我们更新代码到github上时,jenkins自动将新的版本进行重新部署,不需要我们的任何操作.

3.开始基本的手动部署github+maven+jenkins 流程.

手动部署是指:手动触发jenkins打包部署

jenkins 通过github拉去最新代码----->通过maven打包--------->通过shell脚本部署启动

首先,github创建仓库,在本地建一个springboot web项目并上传到该仓库下,

比如我的是:

https://github.com/ToBeSupJavaMan/testjenkins

只有一个controller,如下

1.环境搭建jenkins(docker安装)+github+springboot(手动部署)

第二步:在jenkins上新建一个项目:

点击左上角new item  

1.环境搭建jenkins(docker安装)+github+springboot(手动部署)

1.环境搭建jenkins(docker安装)+github+springboot(手动部署)

填写git的用户名,密码,id随意写一个,然后add

1.环境搭建jenkins(docker安装)+github+springboot(手动部署)

然后点击,选中

1.环境搭建jenkins(docker安装)+github+springboot(手动部署)

1.环境搭建jenkins(docker安装)+github+springboot(手动部署)

然后往下,写mavenbuild前的脚本,

1.环境搭建jenkins(docker安装)+github+springboot(手动部署)

if (ps -ef| grep java|grep 8001)

then  (ps -ef| grep java|grep 8001| awk '{print $2}'|xargs kill -9)

fi

脚本的主要意思是杀掉8001端口服务的进程(也就是我们即将要部署的项目,这样我们就可以重复部署,否则第一次部署之后,再次部署时会报端口已经被占用的错)

接下来:

1.环境搭建jenkins(docker安装)+github+springboot(手动部署)

export BUILD_ID=dontKillMe          //设置cookie ,否则项目启动之后,jenkins会自动杀掉

JENKINS_NODE_COOKIE=dontKillMe nohup java -jar /var/jenkins_home/workspace/mavenTest/target/jenkinsboot-0.0.1-SNAPSHOT.jar --server.port=8001 &

后面的内容就是找到我们maven打包后的jar的地址,然后后台启动就行了.

注:

如果不知道maven打包后的地址,可以先不写Poststep,直接走下面的流程,在构建的时候,控制台可以找到maven的打包地址,你也可以进到docker容器里面查看/var/jenkins_home/workspace,一般就在这个目录下

1.环境搭建jenkins(docker安装)+github+springboot(手动部署)

点击apply,然后点击save

之后开始构建

1.环境搭建jenkins(docker安装)+github+springboot(手动部署)

等进度条走完,前面的图标变成蓝色表示已经构建成功,如果你想看构建步骤,点击 项目构建的次数,当前我构建了4次,是 #4,然后出现下拉框,点击控制台即可,或者直接点进去,

1.环境搭建jenkins(docker安装)+github+springboot(手动部署)

1.环境搭建jenkins(docker安装)+github+springboot(手动部署)

表示项目启动成功,测试一下:ip:8001/hello请求项目

1.环境搭建jenkins(docker安装)+github+springboot(手动部署)

成功: