经过三天的不断尝试,终于成功构建了项目。下面分享一下我的构建过程。
系统环境:Ubuntu 17 ,Jenkins 2.6 ,git 2.14 ,jdk 1.8
git 安装
sudo add-apt-repository ppa:git-core/ppa
sudo apt-get update
sudo apt-get install git
Jenkins 安装
wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt-get update
sudo apt-get install jenkins
Jenkins 命令
sudo /etc/init.d/jenkins start|restart|stop
在执行service jenkins start
如果出现如下错误:
Starting Jenkins bash: /usr/bin/java: No such file or directory [FAILED]
which java
ln -s 本地java包路径 /usr/bin/java
日志信息: /var/log/jenkins/jenkins.log
项目目录:/var/lib/jenkins/workspace
修改端口号:修改/etc/default/jenkins
文件,将端口从8080更换成8083
Jenkins权限问题
在Ubuntu下,当执行apt-get install方式安装Jenkins的时候,会自动创建jenkins用户,这是一个没有用户目录的账号。
检查了一下,居然在nogroup组中,下面的调整修复了这两个权限问题:
-
从/etc/group文件中在nogroup中删除jenkins账号
-
将jenkins账号分别加入到root组中 ,命令:
gpasswd -a root jenkins
-
修改
/etc/default/jenkins
文件中,
JENKINS_USER=root
JENKINS_GROUP=root
可以修改为root权限运行
安装Jenkins SSH和GIT插件



SSH和GIT的配置


在设置SSH之前,请确保安装

插件

构建spring boot项目配置
在创建maven项目前,请确保安装了:Maven Integration plugin
插件




nohup sh /home/rm/software/shell/stop-jar.sh /home/rm/software/ikang-service.jar > /home/rm/software/stop-log.log &
停止进程脚本名称,如果不加nohup
,会出现
ERROR: Exception when publishing, exception message [Exec exit status not zero. Status [-1]]
错误。
启动脚本,如果不加nohup,则会在Jenkins控制太跑进程,无法成功结束。
nohup sh /home/rm/software/shell/start-jar.sh /var/lib/jenkins/workspace/ikang-enterprise-platform/ikang-enterprise-service/target/ikang-enterprise-service-1.0.0-SNAPSHOT.jar /home/rm/software/ikang-service.jar > /home/rm/software/start-log.log &
构建脚本
start-jar.sh
启动脚本
#tartup.sh 启动项目
#!/bin/sh
#echo "授予当前用户权限"
chmod 777 $1
#echo "复制jar包文件到 $2"
cp -f $1 $2
echo "执行....."
java -jar $2
stop-jar.sh
停止脚本
#停止jar包
#!/bin/bash
echo "Stopping SpringBoot Application"
pid=`ps -ef | grep -w $1 | grep "java" | awk '{print $2}' `
if [ -n "$pid" ]
echo "kill $pid"
then
kill -9 $pid
fi
更新一个问题
如果SSH用户使用的是非root用户,在build的时候回出现一些问题,请更改如下放配置
nohup命令不生效,请将停止命令和启动命令修改
- 修改停止脚本处
nohup sh /home/rm/software/shell/stop-jar.sh /home/rm/software/ikang-service.jar > /home/rm/software/stop-log.log &
上述脚本修改成:
sh /home/shell/stop-jar.sh /home/software/web-everything.jar
- 修改启动脚本:
nohup sh /home/rm/software/shell/start-jar.sh /var/lib/jenkins/workspace/ikang-enterprise-platform/ikang-enterprise-service/target/ikang-enterprise-service-1.0.0-SNAPSHOT.jar /home/rm/software/ikang-service.jar > /home/rm/software/start-log.log &
BUILD_ID=dontKillMe
nohup sh /home/rm/software/shell/start-jar.sh /var/lib/jenkins/workspace/ikang-enterprise-platform/ikang-enterprise-service/target/ikang-enterprise-service-1.0.0-SNAPSHOT.jar /home/rm/software/ikang-service.jar > /home/rm/software/start-log.log &
Send files or execute commands over SSH 处提示权限不足,则可以删除掉所填内容

转载请注明:R&M » Jenkins自动从git构建Spring boot项目实践