jenkins构建SpringBoot项目

127 阅读3分钟

1.jenkins部署SpringBoot项目

1.1 docker下载jenkins镜像

docker pull jenkins/jenkins

1.2 运行jenkins镜像

首先创建挂在目录

mkdir -p /home/docker/jenkins/data/jenkins_home

需要修改下目录权限,因为当映射本地数据卷时,/home/docker/jenkins/data/jenkins_home目录的拥有者为root用户,而容器中jenkins用户的 uid 为 1000。

chown -R 1000:1000 /home/docker/jenkins/data/jenkins_home

运行jenkins镜像

docker run -d --name jenkins \
--restart=always -u root \
-p 8040:8080 -p 50000:50000 \
-v /home/docker/jenkins/data/jenkins_home:/var/jenkins_home \
-v /usr/local/jdk:/usr/local/jdk \
-v /usr/local/maven:/usr/local/maven \
jenkins/jenkins

1.3 运行成功后访问jenkins

ip:8040

访问浏览器后,会出现以下页面,需要等jenkins加载,稍等一会

1.4 获取jenkins登录密码

这里的目录是上面启动docker时挂在的数据目录

 cat /home/docker/jenkins/data/jenkins_home/secrets/initialAdminPassword

1.5 安装jenkins推荐的默认插件

1.6 创建管理员用户

1.7 实例配置

1.8 设置初始化环境

设置javamavengit环境。



在这里面配置环境







配置好了后,点击保存按钮,我们可以检验一下jenkins容器的环境

docker exec -it jenkins /bin/bash

可以看到jenkins容器内已经具备了javamavengit环境。


如果环境没有的话,可以看这篇文章进行环境变量设置 juejin.cn/post/689832…

1.9 安装插件

  1. Maven Integration
  2. Publish Over SSH

点击"系统管理"->"插件管理" 然后搜索插件



因为我是已经安装过插件的,所以搜不到Maven Integration 插件



在已安装插件中,可以所搜到我安装的插件



1.10 设置远程服务器连接

如果当需要把打包好的项目,推送至远程服务器运行时,就需要先配置远程服务器的连接信息。
点击"系统管理"->"系统配置"

找到Publish over SSH模块,如下



填写完信息后,测试是否可以连接成功

1.11 设置git凭证

点击"系统管理"->"Manage Credentials "> "全局">"添加凭据" 添加完后进行保存









到这里环境就终于配置好了,接下来就开始构建项目了,接下来才是重头戏,前面都是为接下来打基础,前面不配置好的话,后面没法继续下去

1.12 新建任务

点击"新建任务"

这里选择构建一个maven项目











测试脚本如下

source /etc/profile
project=message-service-1.0.0-SNAPSHOT.jar
dir=/home/software/avatar/avatar-message/
pid=`ps -ef | grep $dir$project | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
   kill -9 $pid
fi
nohup java -Xms64m -Xmx512m -XX:PermSize=32m -XX:MaxPermSize=512m -jar $dir$project --spring.profiles.active=dev >/home/software/avatar/avatar-message/logs/test.log 2>&1&



填写完后,点击保存按钮,然后点击立即构建



查看构建控制台输出







然后我们登陆远程服务器查看jar包是否推送成功



可以看到,确实推送成功了,查看jar包运行日志

tail -1000f /home/software/avatar/avatar-message/logs/test.log





服务也在正常的运行当中。

集成就到这里了,希望会带给您帮助,如果帮助到您了,麻烦点个赞!