Linux下安装部署jenkins并完成github上springboot项目的自动化部署

Linux下安装部署jenkins

这里不仅说明如何下载安装jenkins,还会说明如何安装配置jdk1.8,maven,git。

下载安装jenkins

首先去jenkins官网下载: jenkins
在这里插入图片描述

如果嫌下载太慢,可以直接在linux服务器上使用yum安装jenkins,命令为:yum install jenkins(如果不是root用户,命令行前可以加上sudo),然后等待linux自动下载安装(我这里使用的是yum安装)。
使用yum安装完成后jenkins在linux服务器上的文件目录为:
/usr/lib/jenkins/jenkins.war (WAR包 )
/etc/sysconfig/jenkins (配置文件)
/var/lib/jenkins/ (默认的JENKINS_HOME目录,之后从git build的项目就在这个目录的workspace之内)
/var/log/jenkins/jenkins.log (Jenkins日志文件)

安装jdk

这里我安装的是jdk1.8版本,是用的yum安装,命令行为:
yum install java-1.8.0-openjdk-* -y
默认JAVA_HOME是在/usr/lib/jvm下,如图:
在这里插入图片描述

这里只有一个文件夹,就是上图中圈中的那个。
这里我们先记下这个路径,之后在jenkins配置jdk里会用到。

安装maven

首先我们去maven下载官网下载适合linux的安装包:链接: maven下载
在这里插入图片描述

然后下载完上传到Linux服务器上,并且在/usr/local/下新建一个文件夹maven;
在linux服务器上进入到压缩包的目录下,解压到/usr/local/maven/下,解压命令(Linux命令:tar zvxf 【maven压缩包】 -C /usr/local/maven
maven中的setting.xml可以根据自己需要进行改动。
注意,maven一定要放在/usr/local/下,不然jenkins配置maven的时候会找不到maven文件。

安装git

首先先查看服务器是否安装过git,因为有的linux服务器会自带git,命令行为:
git --version
这里我们不用原有的git,所以需要卸载,命令行为:
yum remove git
然后在下载安装git前先安装所需软件包,命令行如下:

yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel asciidoc
yum install gcc perl-ExtUtils-MakeMaker

然后安装最新的git:

wget -O git.zip https://github.com/git/git/archive/master.zip
unzip git.zip
cd git-master
make prefix=/usr/local/git all
make prefix=/usr/local/git install

将Git添加到环境变量:

# 编辑环境配置文件
vim /etc/profile

# 末尾添加
export PATH=$PATH:/usr/local/git/bin

# 立马生效
source /etc/profile

启动jenkins服务

首先,由于jenkins里用的是国外的镜像,所以页面和插件的打开和安装有时候会比较慢。所以我们可以更改下jenkins的配置。
详情可以参考

首次启动Jenkins加载很慢的解决办法
提高jenkins下载插件的速度

上面的两篇文章讲的是如何在windows系统下配置jenkins来提高速度,但是我们用的是linux,其实都一样,只不过文件的位置不同,按照我的安装配置来说。

  1. 加载很慢的更改:
    命令行是:
    vim /var/lib/jenkins/hudson.model.UpdateCenter.xml
    然后进入编辑模式,就可以根据上面的文章中的解决办法进行修改并保存。
  2. 提升下载插件的速度
    命令行是:
    cd /var/lib/jenkins/updates
    然后就是批量替换字符串:
    sed -i "s|updates.jenkins-ci.org/download|mirrors.tuna.tsinghua.edu.cn/jenkins|g" default.json
    sed -i "s/www.google.com/www.baidu.com/g" default.json
    
    最后启动jenkins服务:service jenkins start

jenkins的端口号默认为8080,请保证linux上8080端口没有被占用。jenkins服务启动后,在浏览器输入服务器ip:8080访问jenkins页面。
在这里插入图片描述

打开页面后首先要去剪头指的位置获取密码:
cat /var/lib/jenkins/secrets/initialAdminPassword
然后复制出密码粘贴到下方的输入框中。
密码输入完成后,会跳转到提示插件下载的页面
在这里插入图片描述

这里我选择左侧的推荐下载,然后就等待插件下载安装。

然后创建用户和密码并登陆:
在这里插入图片描述

之后就主要是在jenkins页面中配置。

jenkins插件下载

首先先去配置管理里面的插件管理下下载插件:
在这里插入图片描述

然后下载maven插件
在这里插入图片描述

还有publish over ssh插件:
在这里插入图片描述

如果需要按照git上的分支或者tag来构建项目,则需要下载Build With Parameters和Git Paramet两个插件:
在这里插入图片描述

在这里插入图片描述

jenkins配置jdk、maven、git

  1. 进去系统管理的全局工具设置
    在这里插入图片描述

  2. maven全局setting配置
    在这里插入图片描述

  3. jdk配置
    在这里插入图片描述

  4. Git配置
    在这里插入图片描述

  5. maven配置
    在这里插入图片描述

创建一个自动化部署任务

以上是jenkins配置的内容,下面说明下如何从github上拉取项目并自动构建;

  1. 创建任务
    在这里插入图片描述

  2. 设置任务名称
    在这里插入图片描述

  3. 配置任务

    配置一般设置(这里我选择配置构建的参数)
    在这里插入图片描述

    配置源码管理
    在这里插入图片描述

    配置构建
    在这里插入图片描述

    构建后写上自动运行的shell脚本:
    在这里插入图片描述

shell脚本代码为:

port=9090
echo '根据端口号查询对应的pid'
pid=$(netstat -nlp | grep :$port | awk '{print $7}' | awk -F"/" '{ print $1 }');
echo '杀掉对应的进程,如果pid不存在,则不执行'
if [  -n  "$pid"  ];  then
    kill  -9  $pid;
fi
echo '删除原来的jar包'
rm -rf /home/kevinadmin/book/demo-0.0.1-SNAPSHOT.jar
echo '将构建的jar包复制到指定目录下'
cd target/
cp demo-0.0.1-SNAPSHOT.jar /home/kevinadmin/book
echo '运行构建的jar包'
cd /home/kevinadmin/book
nohup java -jar demo-0.0.1-SNAPSHOT.jar >/dev/null 2>&1 &

因为我这里作为测试用的springboot项目的端口号为9090,构建后的jar包名称为:demo-0.0.1-SNAPSHOT.jar,所以上面的对应的这些地方可以根据需要替换为自己的端口号和jar包名称。
还有jar包复制到指定目录,用到的命令为:
cp demo-0.0.1-SNAPSHOT.jar /home/kevinadmin/book
其中/home/kevinadmin/book是我这里指定的目录,各位也可以根据需要替换为自己的目录。

到这里,初步的jenkins自动化构建部署任务已经配置完成了,接下来就直接点构建然后选择对应的tag或者分支就可以进行构建了。
注:如果遇到shell脚本执行后,发现自己的jar包还没有运行的情况,这种状况一般是由于jenkins任务执行完毕会杀掉自己的子进程。那么我们可以在系统管理的系统配置下新增一个环境变量:
在这里插入图片描述

环境变量下新增一个键值对:
key:BUILD_ID
value:DontKillMe
在这里插入图片描述

  • 7
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值