基于Jenkins+Gitee实现SpringBoot项目自动化部署(非Docker版)
1. 安装JDK
示例使用JDK1.8版本。
上传jdk安装包到服务器自定义目录,如:/opt/jdk
解压,修改环境变量命令
tar -zxvf jdk-8u311-linux-x64.tar.gz
修改环境变量命令:vim /etc/profile
在配置文件末加上:
export JAVA_HOME=/opt/jdk/jdk1.8.0_311
export CLASS_PATH=$CLASS_PATH:$JAVA_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin
查看jdk是否安装成功
2. 安装Maven(3.6.3版本)
与安装JDK类似,依次上传、解压。
修改环境变量命令:vim /etc/profile
在配置文件末加上:
export MAVEN_HOME=/opt/maven/apache-maven-3.6.3
export PATH=$PATH:$MAVEN_HOME/bin
查看版本:mvn -v
配置Maven镜像
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
3. 安装Git
git 无版本要求,直接使用yum命令安装
yum install git
查看版本
4. Gitee码云(GitHub类似操作)新建仓库,名称为hello-jenkins,本地提交示例代码到远程仓库
SpringBoot项目目录:
5. 安装Jenkins
下载jenkins.war
可以从官网或开源镜像站下载。
中文官网:https://www.jenkins.io/zh
阿里云镜像站:https://mirrors.aliyun.com/jenkins/
清华镜像站:https://mirrors.tuna.tsinghua.edu.cn/jenkins/
注意,目前新版本Jenkins支持的JDK最低版本为JDK11,所以这里下载支持JDK1.8的最后版本2.346.1。
通过命令启动Jenkins,默认端口8080(注意防火墙放行8080和80端口,云服务器直接在控制台配置安全规则)
nohup java -jar jenkins.war > nohup.out 2>&1 &
启动成功,通过ip:8080访问
根据提示查看默认密码
登录成功后,选择安装插件,建议选择推荐安装的插件
等待插件安装完成后,根据引导,创建一个管理员账号
开始使用
在插件管理->高级中配置插件升级站点URL为阿里镜像源
https://mirrors.aliyun.com/jenkins/updates/update-center.json
Jenkins首页->全局配置,配置maven、settings.xml
配置JDK
Git保持默认即可
安装可选插件:Maven Integration
安装Gitee
等待安装完成
配置Gitee链接
根据提示链接获取access_tokens,该令牌只展示一次,注意保存。
添加完成后可以点击 测试链接,出现成功则说明配置成功。
6. Jenkins创建自由风格项目
选择新建一个自由风格任务
选择源码管理->git,填写gitee仓库地址,分支默认master
点击添加凭证,填写gitee用户名密码
Credentials选择添加的Gitee凭证,报错消失
点击构建选项,配置Maven执行以及Shell命令
在/opt/jar下新建服务启停脚本stop.sh和startup.sh
stop.sh
echo "Stopping hello-jenkins"
pid=`ps -ef | grep hello-jenkins.jar | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
echo "kill -9 的pid:" $pid
kill -9 $pid
fi
startup.sh
cp /root/.jenkins/workspace/hello-jenkins/target/hello-jenkins.jar /opt/jar
cd /opt/jar
java -jar hello-jenkins.jar
点击立即构建,开始拉取代码,并自动打包运行
构建执行成功:
访问ip(示例项目配置了80端口),成功输出:Hello, Jenkins!
除了手动点击构建之外,还可以设置推送代码自动构建。在jenkins中设置构建触发器,勾选Gitee webhook触发构建。
WebHooks主动触发构建
下拉底部,点击生成密码,复制URL和密码备用,点击保存
在gitee仓库->管理->WebHooks
添加完成后,可以提交代码测试
代码提交完成,刷新Jenkins页面,已自动构建完成
访问ip测试一下
至此,Jenkins自动部署SpringBoot项目顺利完成。
这篇随笔记录了非Docker版本的Jenkins自动部署,下一章更新【 SpringBoot项目基于Jenkins实现自动化部署笔记(Docker版)】。
欢迎一起讨论。