CentOs8 Linux安装Jenkins、部署并运行springboot项目

2021-12-08 16:48:38 浏览数 (1)

1 Linux安装jdk1.8、配置环境变量(必须)

一键安装:yum install java

java -version

1.1 下载jdk1.8

Oracle官网下载地址:jdk下载

选择Linux版本的tar压缩包下载:

1.2 安装jdk1.8

  ① 将下载后的tar文件放在/usr/java目录下(根据自己喜欢)

  ② 进到刚才放的tar文件所在的目录

代码语言:javascript复制
cd /usr/java
复制代码

  ③ 解压jdk压缩文件

代码语言:javascript复制
tar -zxvf jdk-8u261-linux-x64.tar.gz
复制代码

1.3 配置环境变量

  ① 编辑环境变量文件profile

代码语言:javascript复制
vim /etc/profile
复制代码

vim详解:点击 i 进入编辑模式即可编辑文本,编辑完之后Esc退出编辑模式, :wq 保存退出(注:这里是有【一个冒号 wq】),不保存就直接退出是 :q! (冒号 q 感叹号)

  ② 在文件末尾添加上红框中的代码。如图所示:

代码语言:javascript复制
export JAVA_HOME=/usr/java/jdk1.8.0_261
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}
复制代码

编辑结束之后保存退出,按ESC键,然后输入 :冒号键进入底线命令模式输入 wq回车即可保存退出。

  ③ 刷新环境变量使其生效

代码语言:javascript复制
source /etc/profile
复制代码

1.4 检查是否安装成功

代码语言:javascript复制
java -version
复制代码

出现以下画面表示jdk安装成功

2 Linux安装部署Jenkins

2.1 安装Jenkins:

方法一:使用sudo wget直接从服务器远程获取安装

  ①远程获取repo文件:
代码语言:javascript复制
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
复制代码
  ②导入rpm文件:
代码语言:javascript复制
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
复制代码
  ③安装:
代码语言:javascript复制
yum install jenkins
复制代码
  ④启动jenkins:
代码语言:javascript复制
sudo service jenkins start
复制代码

方法二:本地下载rpm安装运行

  ①下载地址:Jenkins下载

这里使用最新版:jenkins-2.254-1.1.noarch.rpm

  ②安装下载的rpm(cd到rpm目录):
代码语言:javascript复制
rpm -ih jenkins-2.254-1.1.noarch.rpm
复制代码

如图:

  ③启动jenkins:
代码语言:javascript复制
sudo service jenkins start
复制代码

课外知识:

  知识1.查看jenkins运行状态:
代码语言:javascript复制
systemctl status jenkins
复制代码
  知识2.安装后jenkins默认的路径(了解下就好):
代码语言:javascript复制
/usr/lib/jenkins/jenkins.war    WAR包 

/etc/sysconfig/jenkins       配置文件

/var/lib/jenkins/       默认的JENKINS_HOME目录

/var/log/jenkins/jenkins.log    Jenkins日志文件
复制代码

2.2 Jenkins配置java路径:

代码语言:javascript复制
vi /etc/init.d/jenkins 
复制代码

修改配置(这里是bin里的java文件夹):

2.3 更改jenkins执行账号权限

代码语言:javascript复制
vim /etc/sysconfig/jenkins
复制代码

修改jenkins_user为root访问用户:

2.4 配置jenkins和安装插件

浏览器访问:http://localhost:8080/

查看密码:

代码语言:javascript复制
vi /var/lib/jenkins/secrets/initialAdminPassword
复制代码

复制密码到 Administrator password

Continue下一步

Instal suggested plugins:安装建议的插件

接下来是进入插件安装进度界面:

插件一次可能不会完全安装成功,可以点击Retry再次安装。直到全部安装成功

等待一段时间之后,插件安装完成,配置用户名密码:输入:admin/admin(可以自定义)

插件安装:系统管理(Manage Jenkins) > 插件管理 (Manage Plugins)> 可选插件,勾选需要安装的插件,点击直接安装或者下载重启后安装(建议 直接安装)

以下三个必备插件:

代码语言:javascript复制
Locale plugin
Git plugin
Maven Integration plugin
复制代码

非中文版汉化教程(已经汉化的略过):Manage Jenkins > Configuration System

找到locale设置Default Language为:zh_CN

如图:

2.5 配置全局变量

系统管理 > 全局工具配置

Maven配置:

JDK:

Git:

Maven:

应用 》保存

2.6 部署项目

首页点击新建:输入项目名称

下方选择构建一个 Maven 项目,点击确定。

勾选丢弃旧的构建,选择是否备份被替换的旧包。我这里选择备份最近的10个

源码管理 :

构建环境中勾选“Add timestamps to the Console Output”,代码构建的过程中会将日志打印出来

在 Build 中输入打包前的 mvn 命令,如:

代码语言:javascript复制
clean install -Dmaven.test.skip=true -Ptest
复制代码
Post Steps:选Execute shell

填入shell命令:(这个shell命令只需要改三个变量替换成自己的就行)

代码语言:javascript复制
#!/bin/bash

# 定义变量(以下三个变量替换成自己的)
JAR_NAME="time-intersection-0.0.2-SNAPSHOT.jar"    #jar包名称
PROJECT_NAME="test"    #构建的jenkins项目的名称
MY_PROJECT_PATH="/home/app"    #项目想要部署的路径

JAR_FILE=/var/lib/jenkins/workspace/${PROJECT_NAME}/target/${JAR_NAME}    #因为jenkins打包自动放在它自己的目录下
PROJECT_PATH=${MY_PROJECT_PATH}/${PROJECT_NAME}    #项目部署所在路径
echo "jar包路径:${JAR_FILE}"

# 在部署前杀死上一次的程序
pid=$(ps -ef | grep ${JAR_NAME} | grep -v grep | awk '{print $2}')
if [ -n "${pid}" ]; then
echo "kill -9 ${pid}"
# grep ${JAR_NAME} 查询一个程序
# grep -v grep 去除 grep
# awk '{print $2}' 获取第二列数据
# xargs kill -9 xargs可以将返回的数据传到给下一个命令使用
ps -ef | grep ${JAR_NAME} | grep -v grep | awk '{print $2}' | xargs kill -9
fi

# 判定目录和文件是否存在
if [ ! -f ${JAR_FILE} ]; then
echo "${JAR_FILE} not exist!"
exit
else



if [ ! -d ${PROJECT_PATH} ]; then
echo "创建项目路径:${PROJECT_PATH}"
mkdir -p ${PROJECT_PATH}
chmod 777 ${PROJECT_PATH}
fi

#复制jenkins自动打包的jar包到我们指定的目录
cp ${JAR_FILE} ${PROJECT_PATH}/${JAR_NAME}

#给予文件最大权限
chmod 777 ${PROJECT_PATH}/${JAR_NAME}

fi

# 部署新的程序
cd ${PROJECT_PATH}
BUILD_ID=dontKillMe    #必须加,否则jenkins启动结束后会自动杀进程,有的jenkins版本是JENKINS_NODE_COOKIE=dontKillMe

nohup java -jar ${JAR_NAME} --spring.profiles.active=prod >log.txt &
sleep 10
tail -n 200 log.txt
echo "Startup SpringBoot Application SUCCESS"
复制代

by_自定义姓陈

分类: Linux

0 人点赞