Jenkins安装、配置、部署springboot项目

本文详细介绍了在Windows和CentOS7环境下,如何安装JDK、Maven、Git以及Jenkins,包括设置环境变量、配置仓库、安装插件和部署SpringBoot项目的过程。重点涉及自动化工具的应用和代码版本管理。
摘要由CSDN通过智能技术生成

文章目录

前言

一、环境

二、依赖

JDK安装

jdk下载

配置jdk环境变量

​编辑

MAVEN安装

maven下载

 配置环境变量

maven仓库配置

git安装

 安装git

安装jenkins

下载jenkins

启动jenkins

登录jenkins

安装插件

在线安装插件

jenkins离线安装插件(plugin) 

配置jenkins

全局工具配置

配置maven

配置settings.xml

配置maven安装

配置JDK

配置git

 系统配置

 配置Publish over SSH

配置发布代码的服务器

凭证管理

添加gitea登录账号

 测试

git拉取代码

本地部署代码

java脚本启动

docker启动

远程服务器部署

总结



前言

本文通过例子,系统性地讲解jenkins的安装、部署和部署springboot项目。内容覆盖docker、gtiea\免登录,编写shell脚本。

一、环境

操作系统:windows

两台服务器:centos7

服务器A:安装jenkins

服务器B:部署代码

二、依赖

服务器A需安装JDK、MAVEN、git,另外还需可以代码版本托管服务器,用来提交代码。

JDK安装

        我是下载jenkins官方的war安装。所以必须需预先安装好JDK。

jdk下载

在window系统下,进入官网:Java Downloads | Oracle 中国,下载jdk17linux版

  • 上传安装包到服务器A

安装上传工具:

yum install lszrz

上传jdk文件:

#创建存放文件的目录
cd /opt

mkdir java

cd java

#上传文件

rz

选择window系统刚下载的jdk包,然后自动上传。

解压文件

tar -xzvf jdk-17.0.10_linux-x64_bin.tar.gz 

配置jdk环境变量

 编辑环境

/etc/profile

  • 使配置生效

source /etc/profile
  • 查看是否配置成功
java -version

如果出现如下界面,说明配置成功

到此,jdk已经安装成功。

MAVEN安装

maven安装过程和jdk比较类似。

maven下载

进入官网:Maven – Download Apache Maven,下载

 创建目录

cd /opt/

mkdir maven

进入目录

cd maven

上传文件

rz

解压文件

tar -xzrf apache-maven-3.9.6-bin.tar.gz

 配置环境变量

vi /etc/profile

使配置生效

source /etc/profile

验证配置是否成功

mvn -version

如果看到下图,即说明配置成功了

maven仓库配置

创建仓库目录

mkdir maven-repository

配置settings.xml

cd /opt/maven/apache-maven-3.9.6/conf/

备份settings.xml(非必须)

cp settings.xml settings.xml-bak

在window系统配置好settings.xml(主要是配阿里镜像库),上传到/opt/maven/apache-maven-3.9.6/conf/目录下,覆盖settings.xml。(也可以在linux下自己编辑settings.xml)

#上传settings.xml

rz

修改<localRepository>

vi settings.xml

修改仓库到刚才创建的目录

修改镜像地址

到此,maven也安装配置完成。

git安装

参考:Centos7系统上安装git命令_centos7安装git命令-CSDN博客

 检查是否已经安装git

git --version

 安装git

yum -y install git

查看git安装目录

主要是给后面的jenkins配置时用

which git

 

到此,jenkins要用的工具已安装完成。接下来安装jenkins。

安装jenkins

进入官网:Jenkins 的安装和设置

下载jenkins

点击下面

进入页面,然后拉到页面下面。建议下载较新版本,因为有些老版本安装插件会有问题。

       创建jenkins目录

mkdir jenkins_home

进入目录

cd jenkins_home

上传刚下载war

rz

启动jenkins

设置端口9091

注意端口是否被占用,可通过命令查端口。(如果系统已经安装过jenkins,建议清除干净再启动,不然可能会影响到这次的)。如果是在生产上,建议通过后台的方式启动,nohup java -jar ...

 java -jar jenkins.war --httpPort=9091

记住密码 

登录jenkins

http://192.168.196.5:9091/login?from=%2F

复制密码,点“继续”登录。

安装插件

安装插件有两种方式,在线自动安装和手工离线安装。

在线安装插件

新手建议默认安装(在线自动安装)

插件安装完之后,出现如下界面,然后设置一个管理员。

点击下一步出现如下界面,点击保存并完成

点击开始使用jenkins。可能有点卡,要稍等。。

根据自己需求添加插件。

我使用代码托管是gitea,打包工具是maven,我是使用ssh的方式把打包好的jar远程部署到另外一台服务器。所以我还需安装gitea、mave和ssh插件。提示:这里的maven插件和之前安装的maven是不同的,这里的插件表明安装了才可以配置相关的maven信息,并且在jenkins运行。

看到如下界面,说明插件已经安装成功。

maven和ssh的安装过程同上面,这里就不细讲。

查看已经安装好的插件

jenkins离线安装插件(plugin) 

如果插件无法自动安装,还可以通过手工安装。

下载页面

找到 releases,并且点击进入该页面,会出现多个版本,下载地址就在download的旁边的direct link,点击之后会下载一个名称后缀为.hpi的文件。

手工安装下载下来的插件

到此,离线安装插件已经完成。

补充:

离线插件也可以通过官网下载Jenkins Plugins

配置国内的清华镜像源 

自动安装插件如果无法安装,也可以更换jenkins升级站点,把它设为国内站点。

https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

配置jenkins

全局工具配置

还记得之前安装的jdk、maven和git吧,这些都是jenkins的工具,现在就可以用上场了。

配置maven

配置settings.xml

找出settings.xml位置。

配置maven安装

拖到下面,看到maven安装

找出maven安装目录

配置

配置JDK

找出jdk的安装目录

 配置jdk

配置git

找出git安装目录

配置

 系统配置

 配置Publish over SSH

在服务器上生成私钥和密钥。目的是免登录其他远程服务器。

#进入目录
cd /root/.ssh/
#生成密钥
ssh-keygen

私钥:id_rsa 公钥:id_rsa.pub

cat id_rsa

把私钥复制好

把私钥粘贴到这里。

如果想要访问那台服务器,还需将公钥发送给远程服务器。

ssh-copy-id root@远程服务器ip

执行上述指令后,会要求我们输入该用户的密码进行验证,我们输入密码后,远程服务器验证密码正确便会将该公钥保存该服务器的/root/ .ssh/authorized_key。再次连接远程服务器,不用输入密码即可连接并执行指令。注意authorized_keys是否有读写权限,没有的话还需授权。

这里可以看到jenkins的主目录,

配置发布代码的服务器

jenkins拉取代码并打包好程序之后,如果想发布到其他服务器,还需配置一下远程服务器。

输入192.168.196.4(远程)这台服务器的密码。(如果在192.168.196.4安装jenkins,这里配的就是192.168.196.5)

配置好之后,点击测试。

看到success就表示配置成功了。

参考图:

凭证管理

添加gitea登录账号

我在gitea上创建一个账号(如名为jenkins),并给这个账号有代码读取权限。

使用这个登录账号配置凭证。

 测试

git拉取代码

丢弃旧的构建

保留3天内的或者前10次的构建数据

配置代码地址。账号为登录gitea的账号和密码。

配置maven打包。

clean -Dmaven.test.skip=true package

配置maven仓库配置。

选择前面配置好的settings.xml。提示:使用默认maven可能会出问题,所以最后选自己配置好的。

构建项目

查看控制台信息

从上面信息可看出,代码已经从gitea上拉取下来,并打包成功。

进入服务器查看,发现打包在这里了。/root/.jenkins/workspace

接下来就需要部署代码了。

本地部署代码

本地部署,即在jenkins当台服务器上部署。

选择生成后脚本执行。

java脚本启动

编写shell脚本

再次构建,然后查看控制台

发现已经启动。

docker启动

修改jar打包名,目的为了dockerfile编写方便

编写dockerfile

编写shell脚本

注意:dockerfile是在任务名目录下

打开控制台。

通过日志可知道已经部署成功。可打开浏览器验证。

远程服务器部署

Add post-build step


编写远程shell脚本

首先在远程服务器的/app目录下编写一个.sh脚本。jenkins会把jar发布到配置的app/workspace(具体看自己的配置)下。

[root@localhost ~]# cd /app/workspace/
[root@localhost workspace]# ls
app.jar
[root@localhost workspace]# cd ..
[root@localhost app]# touch app-start.sh
[root@localhost app]# vi app-start.sh 

脚本如下(app-start.sh):

echo "Stop Procedure : app.jar"
#获取指定项目运行pid
pid=`ps -ef |grep java|grep app.jar | grep -v grep |awk '{print $2}'`
echo 'old Procedure pid:'$pid
 
#pid存在则kill
if [ -n "$pid" ]
then
kill -9 $pid
fi
 
echo 'Start the program : app.jar'
#给项目jar  777权限
 
#进入项目所在目录,在jenkins服务器上配置的工作目录
cd /app/workspace
 
chmod 777 /app/workspace/app.jar
 
echo '-------Starting-------'
#运行项目 (指定时区  指定字符编码  指定输出日志)
nohup java -jar app.jar 2>&1 &
echo 'jar启动完成'

注意:运行.sh脚本时,如果报无法找到java命令,则使用java全路径执行。 如下脚本

nohup /opt/java/jdk-17.0.10/bin/java -jar app.jar >app.log 2>& 1 &

Add post-build step 

 编写启动脚本:

#注意jenkins配置到192.168.196.5的工作目录:/app/workspace
ssh 192.168.196.5 "rm -rf /app/workspace/*"
scp -r ${WORKSPACE}/target/app.jar 192.168.196.5:/app/workspace/app.jar
ssh 192.168.196.5 "cd /app && sh app-start.sh"

 

查看控制台

以上说明已经部署成功。

如果远程机使用docker,同样可以写个.sh脚本。

总结

 jenkins是个自动化部署工具,可通过安装各种插件来完成部署。

  • 27
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值