Centos上搭建jenkins,并自动部署Spring Boot项目。(附遇到的问题及解决方案)

最近尝试自己搭建jenkins自动部署环境,将整个过程及遇到的问题记下来,希望能够帮助到一些朋友!

本文使用的环境是:Cent os7.2,maven3.5.3,JDK8,jenkins2.136

首先需要在你的服务器上配好相关的JDK与maven,还要在系统上安装好git。

这些就不讲怎么配置了,CSDN上有许多相关文章,大家可以参考!

现在开始正式配置jenkins。

wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo

rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key

yum install -y jenkins

执行上面的命令,安装jenkins。

jenkins的配置文件在 /etc/sysconfig/jenkins 这里,其中可以修改端口与其他信息。

vi /etc/sysconfig/jenkins

我们需要的是端口与jenkins的用户权限,因为不修改权限的话我们后面执行shell脚本的时候会出现没有操作权限。

jenkins的默认用户是jenkins,但事部分操作权限没有,我们后面需要执行的kill -9 XXX就没有权限,这里最快捷的我将jenkins 的设置位root权限。

首先修改JENKINS_USER="root"

jenkins的默认端口是8080,你可以修改没有被占用的端口,我这里修改为9090,根据你们本地的实际情况进行配置。

设置完成之后,保存文件。

暂时不要先启动jenkins,还需要设置jenkins的用户分组,执行命令

gpasswd -a root jenkins

service jenkins start

这时候启动完成之后,就可以在浏览器中访问你的jenkins了。

首次进入会让你输入jenkins的初始密码,密码在/var/lib/jenkins/secrets/initialAdminPassword 这个文件里可以看到,找到这个文件复制其中的密码过来即可。

然后让你选择插件,第一次先选择默认的安装推荐的插件即可。

稍微等待一会儿,即可安装完成!

配置好自己的用户名与密码即可!

我这里使用的码云的管理仓库,所以借鉴的是:https://gitee.com/oschina/Gitee-Jenkins-Plugin

我在其中也踩了很多坑,更多的原因是我自己知识面的短浅,但是我相信我自己能够完成,一步步去找原因并解决。

进入系统管理,系统设置:

填入链接名,自己取一个就行,域名URL填:https://gitee.com

令牌证书,点击Add,Jenkins

Gitee APIV5 私人令牌,需要你到:https://gitee.com/profile/personal_access_tokens获取

ID和描述自己填写即可,然后点击添加!

继续,下面找到Pipeline Model Definition

一样点击Add,Jenkins。

填写你的gitee的用户名与密码即可!ID和描述一样,随便填写!

然后到系统管理 》全局工具配置

 

 

配置好自己的maven与jdk目录即可。

在上面有个maven的全局配置文件,你可以配置自己的其他settings.xml的文件。

然后应用保存即可。

回到系统设置,找到插件管理,需要安装几个插件。

第一个插件的作用是我们在构建完成之后可以执行一些shell脚本,后面两个插件一个是maven一个是gitee的。

安装完成之后,重启一下jenkins。可以在安装的时候选择重启,也可以在服务器上执行

service jenkins restart

重新进入之后,选择创建一个新的任务。

我们选择构建一个maven项目。

按照前面码云的链接里面的配置文件,这里就会出现一个gitee链接,选择自己刚刚配置的即可。

远吗管理选择git,填入你的项目仓库地址,再选择到我们上面配置的gitee的用户名与密码!

如果你的用户名与密码填错了会显示错误:

Failed to connect to repository : Command "git ls-remote -h https://gitee.com/xxxxxx.git HEAD" returned status code 128:
stdout: 
stderr: remote: [31mIncorrect username or password ( access token )[0m
fatal: Authentication failed for 'https://gitee.com/xxxxxx.git/'

执行maven的编译命令:install -Dmaven.test.skip=true

选择post build task,构建完成之后我们需要执行的shell脚本。

Log text表示构建到与你填写的内容一致时,就执行shell脚本。

// 获取正在运行的项目pid
pid=`ps -ef|grep uxiango-api-0.0.1-SNAPSHOT.jar|grep -v grep|awk '{print $2}'`
// 结束该进程
kill -9 $pid
// 进入我们的文件编译目录,具体的需要看你的项目路径
cd /var/lib/jenkins/workspace/uxiango-api/uxiango-api/target/
// 运行jar文件
nohup java -jar uxiango-api-0.0.1-SNAPSHOT.jar &

还遇到一个问题就是:

当我的脚本第一段写成:pid=`ps -ef |grep uxiango-api-0.0.1-SNAPSHOT.jar | grep -v grep | awk '{print $2}'`的时候,执行的结果就是:

命令会出现问题,我去掉命令中 “ | ” 两边的空格之后就没有问题,希望有知道的老哥能告诉我原因!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值