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