IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Jenkins拉取代码推送至远程服务器执行测试 -> 正文阅读

[系统运维]Jenkins拉取代码推送至远程服务器执行测试

概述

项目只能推送至远程服务器上执行单元测试,现在希望通过Jenkins自动执行测试。
执行流程:代码更新,Jenkins自动拉取项目,将项目拷贝至远程服务器,执行测试后,再将测试结果拷贝至Jenkins服务器,通过钉钉机器人通知测试结果。

1、在Jenkins新建Item,选择Freestyle Project

2、点击“确定”后进入项目配置页面

Gitlab配置可参考 https://blog.csdn.net/qq_36717210/article/details/123375547?spm=1001.2014.3001.5501
在这里插入图片描述

3、源码管理

选择“Git",在URL中填入代码仓库地址
在这里插入图片描述
凭据(Credentials)一栏若为空,则点击“添加”→“Jenkins”,显示添加凭据弹窗,类型选择“Username with password”,用户名和密码分别填入Gitlab的用户名和密码,描述随意填写,点击“添加”
在这里插入图片描述
在指定分支处填入对应分支名称
在这里插入图片描述

4、构建触发器

勾选“Poll SCM”
“H/10 9-20 * * *”表示在每天的9点-20点之间,每10分钟检查一次,若Git代码存在更新则执行构建
轮询机制的具体说明可参考 https://www.cnblogs.com/sunyllove/p/9852606.html
在这里插入图片描述

5、构建环境

因为需要将项目拷贝至远程服务器执行,所以这里选择“在构建前通过SSH发送文件或执行命令”
在这里插入图片描述
Name选择在系统配置中添加的SSH Server
Source中填写要拷贝至远程服务器的文件,此处要拷贝整个项目,因此填了“/”
Remote Directory填写文件在远程服务器存放的路径
Exec command填写在远程服务器上要执行的命令
在这里插入图片描述
问题:在远程服务器执行命令时,控制台显示“ERROR: Exception when publishing, exception message [Exec exit status not zero. Status [127]]”
经过测试发现,shell命令(例如cd、mkdir、rm)的执行是没问题的,一旦加上mvn命令就会报错。考虑是因为无法识别mvn命令。
Jenkins报错原因不明确,应该是因为不是在本机执行的,无法获取远程服务器的错误。

解决方法:远程服务器已经安装了maven,且设置了maven环境变量,因此在执行mvn命令之前先执行source /etc/profile使环境变量生效。

Jenkins无法读取远程服务器的测试结果,因此执行测试后需要将测试结果拷贝至Jenkins服务器。点击“增加构建步骤”,如果Jenkins服务器是Windows系统则选择“Excute Windows batch command”,其它系统选择“Execute shell”
在这里插入图片描述

5.1 Jenkins服务器是Windows系统

可使用pscp拷贝远程服务器的文件
下载对应版本的pscp https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
在这里插入图片描述
将下载好的pscp.exe放在Jenkins所在服务器C:\WINDOWS\system32文件夹下,然后就可以使用pscp命令
在这里插入图片描述
pscp -r -pw “password” user@远程服务器ip地址:/要拷贝的远程文件路径 下载到本地的路径(下载到当前路径可写为“.”)
-r 拷贝整个目录
-pw “” 引号中填入登录远程服务器的密码
user为登远程服务器的用户名
首次使用pscp命令时会有交互提示,需输入y或n;因为是在Jenkins执行,无法进行交互,所以在命令前加上echo y | pscp …

5.2 Jenkins服务器是其他系统(Linux或Mac OS)

此处以MacOS为例
scp不支持在命令中写入登录远程服务器的密码,因此需要使用sshpass
在MacOS上安装sshpass可参考https://www.jianshu.com/p/c692b82cb628
安装后,在执行shell命令中写入命令
sshpass -p 'password' scp -r root@192.168.2.222:/root/文件路径/target .
拷贝测试结果到当前路径
执行后出现 "sshpass: command not found"的提示
在Jenkins所在服务器编辑~/.bash_profile文件

vim ~/.bash_profile

添加环境变量

export SSHPASS="/Users/username/sshpass-1.05"  填写sshpass所在路径
export PATH="$PATH:$SSHPASS"

保存文件后执行source ~/.bash_profile
在shell命令行中第一行写入source ~/.bash_profile
在这里插入图片描述
执行构建,提示“sshpass: Permission denied”
解决办法:cd 到sshpass文件夹下,执行chmod a+x ./文件名,再执行 sudo chmod -R 777 目录路径
再次在Jenkins执行构建,可查看当前工作区下已显示从远程服务器下载的文件

6、构建后操作

因为项目使用Junit进行测试,所以在构建后要获取Junit测试报告
点击“增加构建后操作步骤”→“Publish Junit test result report”
在这里插入图片描述
填入从远程服务器拷贝的测试报告文件路径
在这里插入图片描述
执行构建,在状态中会显示测试结果,点击“最新测试结果”,可查看具体测试用例执行结果与耗时
在这里插入图片描述

7、配置钉钉机器人通知

7.1在钉钉群中添加机器人

钉钉群设置→智能群助手→添加机器人→自定义
在这里插入图片描述
机器人名字随意填写,这个机器人名字只是在群内的名字显示;
安全设置任选一项即可;
在这里插入图片描述
点击完成,会生成一个webhook
在这里插入图片描述

7.2Jenkins配置钉钉机器人

在系统管理(Manage Jenkins)→插件管理(Manage Plugins)中安装DingTalk插件
未安装时,在“可选插件”中搜索DingTalk进行安装
在这里插入图片描述
安装DingTalk插件完成后,一定要重启Jenkins!要重启Jenkins!重启Jenkins!!!重启之后才生效
安装插件后,在系统配置中找到钉钉,点击“新增”
在这里插入图片描述
关键字和加密选填一项,填写内容与添加机器人时设置的一致
在这里插入图片描述
填写完成后,点击“测试”,钉钉群内会收到一条测试消息
在这里插入图片描述
保存设置,在项目设置中就可以看到钉钉机器人
在这里插入图片描述
勾选已添加的机器人,点击“高级”
在这里插入图片描述
可对通知时机与通知人进行配置
在这里插入图片描述
保存设置,执行构建,钉钉群内会收到测试结果通知消息
在这里插入图片描述

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-03-10 23:03:00  更:2022-03-10 23:03:47 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 3:41:02-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码