jenkins for SpringBoot

作者: jarvan4dev | 来源:发表于2016-08-02 23:38 被阅读12321次

jenkins官网

部署步骤

  1. 点击按钮下载当前稳定版的war包,经过试验war包比其他安装方式安装的Jenkins更易安装插件


    直接点击2.15.war即可下载
  2. 把war包扔到${TOMCAT_HOME}/webapps/目录,启动tomcat即可,这种方式默认的家目录是 /root/.jenkins/

初始化
  1. 从Jenkins初始化启动日志上可以看到初始化密码存放在/root/.jenkins/initialAdminPassword

输入初始密码后,选择Install suggested plugins, 否则后面无法查找插件

初始化插件
  1. 插件安装时间比较长,然后就是选择所需插件
插件管理

work with osc git

  1. 安装所需插件
    有很多插件都是选择的默认的安装的,所以现在需要我们安装的插件不多,Git pluginMaven Integration plugin,以下是我的插件列表:
第一屏 第二屏 第三屏 第四屏 第五屏 第六屏
  1. 进行系统配置

此处省略jdk(请注意服务器上需要安装jdk,而不是jre)、maven、git的安装

在系统管理中找到Global Tool Configurations,其中包含jdk、git、maven等工具的配置

系统管理
maven配置
jdk配置
git配置
注意: 请勾掉自动安装,自己手动安装以上工具后再进行配置
  1. 创建git仓库(git.oschina.net

由于服务器资源不足(主要是内存,虽然现在升级到2G了,但是有osc git 这样的私有库,觉得自己没必要搭建git服务器了), 这里不再细说如何创建仓库了,直接说下简单配置。

公钥管理

在部署Jenkins的服务器上生成公钥,因为Jenkins构建的时候需要去访问git仓库,关于如何生成公钥请参看:
http://git.oschina.net/oschina/git-osc/wikis/%E5%B8%AE%E5%8A%A9#ssh-keys

  1. 在Jenkins上创建需要构建的项目
    选址maven项目
    新建项目
    源码管理,选择git
    源码管理
    填入git仓库的地址,请选择git协议地址
    git仓库
    如果你出现如下情况,请检查你的公钥配置
    公钥错误导致
    既然是构建maven项目,需要在服务器上安装maven,并进行正确的配置,如果出现以下错误,即是maven未安装或者未进行配置
    maven未安装或未正确配置
    Goals and options 和本地maven一样的,clean package

maven build后就是发布,那么该如何发布呢?说到发布,其实就是将项目构建结果move到它运行时应该所在的位置。那么这就需要使用发布脚本了

以下配置表示maven构建结束后执行的脚本


构建脚本
# 将应用停止
#stop.sh
#!/bin/bash
echo "Stopping SpringBoot Application"
pid=`ps -ef | grep model.jar | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
   kill -9 $pid
fi
#replace.sh 用于将上次构建的结果备份,然后将新的构建结果移动到合适的位置
#!/bin/bash
# 先判断文件是否存在,如果存在,则备份
file="/usr/local/SBA/model.jar"
if [ -f "$file" ]
then
   mv /usr/local/SBA/model.jar /usr/local/SBA/backup/model.jar.`date +%Y%m%d%H%M%S`
fi
mv /root/.jenkins/workspace/Test/target/model.jar /usr/local/SBA/model.jar
# startup.sh 启动项目
#!/bin/sh
echo "授予当前用户权限"
chmod 777 /usr/local/SBA/model.jar
echo "执行....."
java -jar /usr/local/SBA/model.jar

请注意配置构建脚本的时候的写法

BUILD_ID=dontKillMe nohup /usr/local/SBA/startup.sh &

本来在服务器上启动springboot项目,直接

nohup java -jar springboot.jar &

即可,但是这种配置在Jenkins上无效,在stackoverflow上找到了解决方案。以上就是Jenkins for SpringBoot,同样也可以发布到tomcat,修改下脚本就可以了。明天继续补充一些脚本的笔记。

好了,有一个hello world for jenkins,有问题可以联系:jarvan4dev@163.com

相关文章

网友评论

  • 大师兄_7da4:问什么我也这样配置但是不成功呢?下面是我的shell脚本
    ssh rd@172.31.48.5 'sh /data/EMR/shutdown.sh'
    ssh rd@172.31.48.5 'BUILD_ID=dontKillMe /data/EMR/startup.sh'
  • huanfuan:是不是要现在linux下安装好maven跟git啊
  • HesherYa:> 经过试验war包比其他安装方式安装的Jenkins更易安装插件

    这个具体是什么现象?
  • 彳亍路:对于集成测试不是太懂啊,有几点不是特别明白。
    1、我的被集成的项目,有什么要求么?我需要在maven的test\java下面写集成测试的demo么?
    2、比如,我有一个 spring boot的项目,里面一个控制器,请求结果就返回一个hello world。部署到Jenkins上如何所谓的集成测试?
  • f73dfb95aa60:你这个还需要提前在目标环境放一个脚本`startup.sh`
    在github上找到了更优雅的方法
    https://github.com/rcoli/spring-boot-jenkins
  • 水底鱼:为什么题目是for springboot。。。。。。
    jarvan4dev:@水底鱼 因为就是为了springboot搭建的,没有涉及tomcat

本文标题:jenkins for SpringBoot

本文链接:https://www.haomeiwen.com/subject/hvnojttx.html