Jenkins安装及使用

Jenkins,原名 Hudson,2011 年改为现在的名字。它是一个开源的实现持续集成的软件工具。

一、Jenkins安装

1.1 Linux下安装Jenkins

  1. 安装java运行环境
yum search java|grep jdk
yum install java-1.8.0-openjdk
  1. 安装git
yum -y install git
  1. 运行jenkins.war
nohup java -jar jenkins.war &

1.2 Docker安装Jenkins

  1. 拉取jenkins镜像
    目前jenkins镜像不用了,要用jenkins/jenkins镜像
docker pull jenkins/jenkins
  1. 创建jenkins工作目录
mkdir /home/jenkins/jenkins_home
  1. 启动
docker run -u root  -d -p 8080:8080 -p 50000:50000 --name jenkins --restart always -v /home/jenkins/jenkins_home:/var/jenkins_home -v /etc/localtime:/etc/localtime jenkins/jenkins

#二、配置全局参数

  1. jdk安装
    image.png
  2. 配置maven环境
    image.png
  3. Publish Over SSH 配置
    3.1 安装 Publish Over SSH 插件
    image.png
    3.2 配置 Publish Over SSH
    在Configure System菜单里 往下拉
    image.png
    image.png
    3.3 配置 Build Authorization Token Root
    image.png
  4. 配置 NodeJS
    4.1 通过jenkins自动安装
    image.png
    image.png
    4.2 通过官网下载安装包

#三、构建后端自动打包部署项目

  1. 创建maven构建项目
    image.png
  2. 配置当前项目参数
    2.1 配置git仓库地址
    image.png
    2.2 配置目标服务器,通过 Publish Over SSH 将jar包发送到目标服务器
    image.png
    image.png
    nohup启动后 bash会进行阻塞卡住,jenkins认为认为一直没完成
    shell的日志输出
nohup java -jar /home/test/test-0.0.1-SNAPSHOT.jar >/home/test/nohup.log 2>&1 &

数据流重定向
数据流重定向就是将某个命令执行后应该要出现在屏幕上的数据传输到其他地方
标准输入(stdin):代码为0,使用<或<<;
标准输出(stdout):代码为1,使用>或>>;
标准错误输出(stderr):代码为2,使用2>或2>>
> 覆盖写
>> 追加写

2.3 配置jar启动前,清理目标服务器占用端口及历史jar包文件
image.png
注意:需要在目标服务器上编写清理脚本

#!/bin/bash

# 判断如果没有传递参数   则不再往下执行

# 将要操作的jar包  通过命令行传递进来
appWorkSpace=$1
#获取传入的参数
if [ -z $appWorkSpace ];
	then
		echo "当前传递参数【appWorkSapce:$appWorkSpace】为空"
		exit 1
fi
# 获取当前jar包执行所占用的端口号
appPort=$2
if [ -z $appPort ];
	then 
		echo "当前传递参数【appPort:$appPort】 为空"
		exit 1
fi


# 删除原始文件
# rm -rf /home/test/test-0.0.1-SNAPSHOT.jar

# 删除历史文件
# rm -rf /home/test/test-0.0.1-SNAPSHOT.jar-*

# 将原始文件进行备份删除
# 获取当前时间戳
time=$(date "+%Y%m%d%H%M%S")
echo $time

# 备份历史文件
mv $appWorkSpace $appWorkSpace'-'${time}

# 获取当前正在运行的端口服务
pid=`netstat -tunpl | grep $appPort | awk '{printf $7}' | awk '{split($1, arr, "/"); print arr[1]}'`
echo "pid:$pid"
#如果pid为空,提示一下,否则,执行kill命令
if [ -z $pid ];
#使用-z 做空值判断
	then
		echo "当前pid为空"
		echo "$appWorkSpace not started"
	else
		kill -9 $pid
		echo "当前不为空"
		echo "$appWorkSpace stoping...."
                  
fi
echo "12312312312312"
# 再次判断一下当前的pid是否还存在
oldPid=`netstat -tunpl | grep $appPort | grep $pid | grep java`
echo "oldPid:$oldPid"
if [ -z $oldPid ];
	then
		echo "$appWorkSapce pid:$pid is stop..................";
	else
		echo "$appWorkSapce stop failed"
fi

echo $pid

2.4 配置jenkins触发器,通过gitlab调用jenkins构建项目,使用Build Authorization Token Root插件进行调用(去掉不同浏览器需要登录验证)
image.png
image.png

http://${IP}:${PORT}/buildByToken/build?job=${NAME}&token=${SECRET}

2.5 配置gitlab 项目中 webhooks调用钩子调用jenkins触发项目构建
image.png

#四、构建vue项目自动打包部署

  1. 创建构建项目
    image.png

  2. 全局配置node环境
    image.png

  3. 配置git仓库地址
    image.png

  4. 配置构建环境
    image.png

  5. 通过命令引入依赖并打包,并打成压缩包
    image.png

  6. 通过命令发送到目标服务器,并执行脚本解压部署到指定文件夹中
    image.png

  7. 编写脚本,自动清理目标服务器文件
    image.png

#!/bin/bash


# 获取传入的参数  指定文件夹名
appWorkSpace=$1
if [ -z $appWorkSpace ];
	then
		echo "当前传递参数【appWorkSpace:$appWorkSpace 】为空"
		exit 1
fi
# 删除/备份历史前端打包文件
# 删除
# rm -rf $appWorkSpace'/html/dist'
# 备份
time=$(date "+%Y%m%d%H%M%S")
echo $time
mv $appWorkSpace'/html/dist' $appWorkSpace'/html/dist-'$time

# 将当前文件拷贝到指定容器文件夹中
cp -r  $appWorkSpace'/dist'  $appWorkSpace'/html'

# 删除当前压缩文件及文件夹
rm -rf $appWorkSpace'/dist'
rm -rf $appWorkSpace'/dist.tar.gz'
  1. 执行清理当前jenkins工作空间脚本,清除dist和dist.tar.gz压缩包
    image.png
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Jenkins 是一个开源的持续集成和持续交付工具,可以帮助自动化构建、测试和部署软件项目。下面是使用 Jenkins 进行部署和发布的一般步骤: 1. 安装和配置 Jenkins:首先,需要在服务器上安装 Jenkins,并确保其能够正常运行。在安装完成后,需要配置 Jenkins 的相关参数,如端口号、管理员账户等。 2. 创建 Jenkins 任务:在 Jenkins 的主界面上,点击“新建任务”按钮,然后选择项目类型(如自由风格的软件项目或管道项目)并填写相应的项目信息。 3. 配置源代码管理:在任务配置页面的“源码管理”部分,选择你的代码仓库类型(如 Git、SVN 等),并填写相应的仓库地址和账户信息。 4. 配置构建触发器:在任务配置页面的“构建触发器”部分,选择合适的触发器方式,如定时触发、代码提交触发或远程触发等。 5. 配置构建过程:在任务配置页面的“构建”部分,选择构建步骤,如编译代码、运行测试、打包等。可以通过插件扩展 Jenkins 的功能,比如 Maven 插件或 Docker 插件。 6. 配置部署环境:在任务配置页面的“构建后操作”部分,选择合适的部署方式,如将构建结果部署到指定服务器或云平台。可以使用 SSH 插件或其他部署插件来实现自动化部署。 7. 保存并启动任务:完成任务配置后,点击保存按钮,然后点击“立即构建”按钮来启动任务。Jenkins 将根据配置的触发器方式来自动触发构建过程。 8. 监控和管理构建结果:在 Jenkins 的主界面上,可以查看任务的构建历史记录和构建日志,以及监控构建状态和结果。如果构建失败或出现错误,可以查看日志来定位问题并进行修复。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值