Jenkins安装
到Jenkins的官网:http://jenkins.io 下载jenkins.war
然后将jenkins.war文件上传到Linux服务器,执行
nohup jar -jar jenkins.war &
启动Jenkins
在页面上如何授权码进入Jenkins,授权码可以在启动Jenkins的命令行中看到,只有第一次进入时需要输入授权码
点击Install suggested plugins,安装Jenkins建议安装的插件,如果部分插件没有安装成功,可以重复多次,直到所有的插件都安装成功
创建用户
再安装几个比较好用的Jenkins插件:Rebuilder、Safe Restart、Publish Over SSH、Maven Integration 依次点击:系统管理 -> 插件管理 -> 可选插件,输入插件名搜索插件
点击直接安装
给刚创建的用户分配权限依次点击:系统管理-> 全局安全配置 -> 安全矩阵 -> Add User or group name
点击Add User or group name,添加自己的账号(我的是admin账号),给账号分配权限,我是给该账号所有的权限,如果是普通的账号,可以去掉Administrator(第一个,系统管理的权限)
Linux服务器设置
安装Java jdk:
yun install java
查看是否安装成功:
java -version
安装并配置Git
安装Git命令:
yum install git
查看git是否安装成功:
git version
将git初始化并生成授权证书
设置用户名和邮箱,用户名和邮箱不需要是真实的个人信息
git config --global user.name "admin"git config --global user.email "admin@abc.com"
生成授权证书,中间直接全部回车就行
ssh-keygen -t rsa -C "admin@abc.com"
查看证书是否生成成功
cd ~/.ssh/ll
id_rsa是私钥,id_rsa.pub是公钥
gitee证书配置
在gitee中依次点击:设置 -> 安全设置 -> ssh公钥,将公钥中的内容复制到公钥文本框中,随便写一个标题即可
验证git的配置是否正确
ssh git@gitee.com
安装并配置maven
直接官网下载解压安装后在/etc/profile配置环境变量
export MAVEN_HOME=/opt/apache-maven-3.6.1export PATH=${MAVEN_HOME}/bin:$PATH
查看是否安装成功
source /etc/profilemvn -version
将Linux注册到Jenkins上
新建节点
在Jenkins中依次点击:系统管理 -> 节点管理 -> 新建节点
点击确定按钮,然后配置Jenkins在Linux中的路径、LInux服务器的IP地址、Linux服务器的账号和密码
启动从节点验证Linux服务器已经成功注册到Jenkins上点击我们刚添加的节点,然后点击启动代理按钮,连接Linux服务器
如果连接服务器时出现如下错误信息
就将Host Key Verrification Strategy配置成Non Verfifying Verrification Strategy
新建Job验证Jenkins任务可以远程运行在Linux服务器上
在Jenkins主页点击【开始创建一个新任务】按钮,然后输入任务名,选择构建一个maven项目,注意:只有安装了Maven Integration插件才有这个选项
点击【确定】按钮
shell脚本的内容,根据项目的实际需求编写
#!/bin/shecho "开始执行shell脚本"# 在jenkins环境中一定要加这句话,否则这个脚本进程最后会被杀死export BUILD_ID=dontKillMe# 指定最后编译好的jar的存放位置JAR_PATH=/opt/workspace/appserver# 如果路径不存在,就创建路径[ ! -e $JAR_PATH ] && mkdir -p $JAR_PATH# 指定jenkins中存放编译好的jar的位置JENKINS_JAR_PATH=/home/wenbo/jenkins/workspace/testProject/target# 如果路径不存在,就创建路径[ ! -e $JENKINS_JAR_PATH ] && mkdir -p $JENKINS_JAR_PATH# 指定jenkins中存放编译好的jar的名称(这个jar的名字和pom文件配置有关)JENKINS_JAR_NAME=appserver-0.0.4.jar# 获取该项目的进程号,用于重新部署项目前杀死进程process_id=$(ps -ef | grep appserver | grep -v "grep" | awk '{print $2}')# 如果该项目正在运行,就杀死项目进程if [[ ! -z "$process_id" ]]then
echo "停止服务"
kill -9 $process_idelse
echo "服务未启动"fi# 进入Jenkins中编译好的jar的位置cd ${JENKINS_JAR_PATH}# 将Jenkins中编译好的jar复制到最终存放项目jar的位置cp $JENKINS_JAR_PATH/$JENKINS_JAR_NAME $JAR_PATH# 进入到存放项目jar的位置cd ${JAR_PATH}# 后台启动项目,并且将控制台日志输出到nohup.out中nohup java -jar ${JENKINS_JAR_NAME} --server.port=9000 -Dfile.encoding=UTF-8 >nohup.out &echo "shell脚本执行完毕"
然后点击【立即构建】按钮,构建项目,点击下面的#1就可以看到到项目的详情
可以在控制台输出中查看到控制台中打印出的内容,可以看到刚才在shell中输入的命令被执行了
至此,我们的spring boot项目就自动部署成功了。