Jenkins持续集成(下篇)

(四)Jenkins 配置构建执行状态

运行构建


在项目 左侧列表点击 “立即构建” ,在 “Build History” 列表,你会得到一个红色的小圆点,表示构建失败。

点击 构建失败的任务(红色的小圆点)。然后点击“Console Output” 就可以查看失败的 log 了。

提示:'python' 不是内部或外部命令,也不是可运行的程序或批处理文件。

我们明明在 Windows 提示符下运行是没有问题的。这是因为 Jenkins 缺少环境配置。

配置构建执行状态

 

回到 Jenkins 首页,点击 “构建执行状态” ,右则会列出本机信息,点击本机信息,配置 Python 的 path 环境变量。同时还需要添加浏览器驱动文件所在目录。

如果你明白这块的话,说明你不懂 Python 语言,或不熟悉 Python 运行环境的配置。(不同技术的之间的配合使用存在一定的依赖关系!我们无法做到零基础。)

配置完成,点击 “保存” , 再来运行 “立即构建” ,这次看到 py_tests.py 自动化脚本被执行了。

查看控制台输出:

好了!一个简单的 selenium + python 自动化测试的构建任务就创建完成了。

但对于 Jenkins 的学习,我们才刚刚开始。

(五)Jenkins 设置定时任务

每次都手动的构建项目显然不够方便,有时候需要定时地执行自动化测试脚本。例如,每天晚上定时执行 py_tests.py 文件来运行自动化测试项目。

设置定时任务

 

前面已经创建的 “python test project” 项目为例,单击项目左侧的 “配置” 选项,修改项目的配置。

找到 构建触发器 ,勾选 Build periodically 选项。

通过查看设置说明,此处定时任务的格式遵循 cron 的语法(可以与 cron 的语法有轻微的差异)。具体格式,每行包含五个字段,通过 Tab 或空格分隔。

 

字段说明
MINUTEMinutes within the hour (0–59)
HOURThe hour of the day (0–23)
DOMThe day of the month (1–31)
MONTHThe month (1–12)
DOWThe day of the week (0–7) where 0 and 7 are Sunday.

若要指定一个字段的多个值,可以使用以下运算符,按先后顺序。

  • 指定所有值
  • M-N 指定范围值
  • M-N/X 或 */X 在指定范围或整个有效范围内按 X 间隔的步骤
  • A,B,...,Z 列举了多个值

 

例子:

  • 每15分钟运行一次 (可能在 1:07分, 1:22分, 1:37分, 1:52分)
    H/15 * * * *
    

 

  • every ten minutes in the first half of every hour (three times, perhaps at :04, :14, :24)
 H(0-29)/10 * * * *
  • 每周一至周五,上午9:45到下午3:45,每隔2小时45分钟运行一次
 45 9-16/2 * * 1-5

 

  • 每两小时一次,每个工作日上午9点到下午5点(也许是上午10:38,下午12:38,下午2:38,下午4:38)
H H(9-16)/2 * * 1-5
  • 除12月外,每月1号和15号每天一次
 H H 1,15 1-11 *

 

(六)实战:构建 GitHub 项目(上) 

Jenkins 不是一个对开发零基础的人去用的工具。不管你要构建什么样的项目,首先要有这么个项目存在,而且还要知道如何运行该项目。

快速创建 GitHub 项目

如果你想快速的使用 GitHub 来维护你的自动化测试项目,请阅读该教程。

此教程会在后面更新(关注首页)

Jenkins 配置 Git

首先,登录 Jenkins ,在首页找到 “系统管理 -> Global Tool Configuration -> Git ”

Path to Git executable :设置 Git 执行文件的位置。从你Git的安装目录中查看 “git.exe” 可执行文件的位置。

设置完成后点击 “Save” 保存设置。

(七)实战:构建 GitHub 项目(中)

前提工作已经完成,接下来创建 GitHub 的项目构建。

创建 GitHub 项目的构建

1、新建项目


在 Jenkins 首页,点击 “新建”。

 

设置项目名称:GitHub project

选择“构建一个自由风格的软件项目

2、添加 GitHub 上的项目

勾选 * GitHub Project 选项

  • Project url :设置 github 的项目地址。

3、设置Git

勾选 * Git 选项

  • Repository URL: 填写 GitHub 项目地址
  • credentials : 设置资格证书,听过 add 添加账号。
  • Branch Specifier(blank for 'any') : 默认 */master 不用修改。

4、设置触发条件

  • Github hook trigger for GITScm polling (触发 GitHub 项目轮询) ,勾选。

  • Poll SCM (设置每两分钟检测一次项目更新)参考 ,勾选。

5、添加构建命令

添加运行项目测试用例的命令。参考上一篇的第三章

项目创建完成,点击“保存”。

(八)实战:构建 GitHub 项目(下)

其实,到些为止,整个项目已经创建完成。这一小节,只是为了验证创建的项目是否有效。

提交项目版本

修改 pyse 开源项目,并提交代码到 GitHub .

D:\git\pyse (master)
λ git commit -m "verison 0.0.8"
 
[master 270de98] verison 0.0.8
 6 files changed, 36 insertions(+), 32 deletions(-)
 create mode 100644 test_report.png
 
 D:\git\pyse (master)
 λ git push origin master
 
 Counting objects: 12, done.
 Delta compression using up to 4 threads.
 Compressing objects: 100% (11/11), done.
 Writing objects: 100% (12/12), 33.80 KiB | 11.27 MiB/s, done.
 Total 12 (delta 5), reused 0 (delta 0)
 remote: Resolving deltas: 100% (5/5), completed with 5 local objects.
 To https://github.com/defnngj/pyse
    c5b4c8a..270de98  master -> master
 

 

查看构建日志


通过 Jenkins 查看项目构建历史。

查看构建的详细日志。

关于 GitHub 的项目实战到此完成。

 

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/289291.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python用selenium实现自动登录和下单的项目实战

前言 学python对selenium应该不陌生吧 Selenium 是最广泛使用的开源 Web UI(用户界面)自动化测试套件之一。Selenium 支持的语言包括C#,Java,Perl,PHP,Python 和 Ruby。目前,Selenium Web 驱动…

Java 语言概述

Java 概述 是 SUN(Stanford University Network,斯坦福大学网络公司)1995年推出的一门高级编程语言 是一种面向 Internet 的编程语言。Java 一开始富有吸引力是因为 Java 程序可以在 Web 浏览器中运行。这些 Java 程序被称为 Java 小程序&am…

专题一_双指针(一)

文章目录 283.移动零题目解析讲解算法原理扩展编写代码 1089.复习零题目解析讲解算法原理编写代码 202.快乐数题目解析讲解算法原理证明编写代码 11.盛最多水的容器题目解析讲解算法原理暴力解法优秀的解法时间复杂度分析 编写代码 283.移动零 题目链接 题目解析 题目还是比较…

成为一名合格的前端架构师,前端知识技能与项目实战教学

一、教程描述 本套前端架构师教程,大小35.94G,共有672个文件。 二、教程目录 01.node介绍和环境配置(共6课时) 02.ES6语法(共5课时) 03.node基础(共29课时) 04.Express框架&am…

大数据Doris(四十九):Doris数据导出介绍

文章目录 Doris数据导出介绍 一、​​​​​​​使用示例

Hive生产调优介绍

1.Fetch抓取 Fetch抓取是指,Hive中对某些情况的查询可以不必使用MapReduce计算。例如:SELECT * FROM employees;在这种情况下,Hive可以简单地读取employee对应的存储目录下的文件,然后输出查询结果到控制台。 在hive-default.xml…

SpingBoot的项目实战--模拟电商【4.订单及订单详情的生成】

🥳🥳Welcome Huihuis Code World ! !🥳🥳 接下来看看由辉辉所写的关于SpringBoot电商项目的相关操作吧 目录 🥳🥳Welcome Huihuis Code World ! !🥳🥳 一.功能需求 二.代码编写 …

2023最大技术潮:大模型冲击下的智能汽车

作者 |德新 编辑 |王博 过去这年最大的技术潮,非大模型莫属。 2023年初,由ChatGPT掀起的浪花,迅速地演变成了席卷全球的AI科技浪潮。汽车行业在其中也不可避免。各大车企纷纷投入与大模型相关的布局。 长城官宣成立了AI Lab,到…

Python从入门到精通之元类

系列 Python从入门到精通之安装与快速入门-CSDN博客 Python从入门到精通之基本数据类型和变量-CSDN博客 Python从入门到精通之集合(List列表、Tuple元组、Dict字典、Set)-CSDN博客 Python从入门到精通之条件语句、循环语句和函数-CSDN博客 Python从…

Hi5 2.0 虚拟手与追踪器(Tracker)的位置修正

问题描述 使用环境与工具:Unity 2022.3.4fc1,steam VR(2.7.3),steamvrSDK(1.14.15),HTC vive pro专业版,Hi5 2.0数据手套 首先按照Hi5 2.0的使用说明(可参考:HI5 2.0 交…

Character Controller Smooth

流畅的角色控制器 Unity的FPS解决方案! 它是一种具有非常平滑运动和多种设置的解决方案: - 移动和跳跃 - 坐的能力 - 侧翻角度 - 不平整表面的处理 - 惯性守恒 - 重力 - 与物理物体的碰撞。 - 支持没有家长控制的平台 此解决方案适用于那些需要角色控制器…

蓝桥圣诞树(C++)

问题描述 输入样例: 1 3 101 1 2 2 3 输出样例: YES 思路: 这道题还是比较好想的,因为它构造的二叉树是用边连接起来的,不是像之前一样从上到下从左到右按编号构造的,所以可以用邻接表来存每个点还有边&am…

【JAVA】AI医疗导诊系统源码

智能导诊系统是一种基于人工智能和大数据技术开发的医疗辅助软件,它能够通过对患者的症状、病史等信息进行计算分析,快速推荐科室和医生。通过简单的描述自身症状,系统即可找到最适合的科室,实现线上高效挂号,线下门诊…

drf知识--10

接口文档 # 后端把接口写好后: 登录接口:/api/v1/login ---> post---name pwd 注册接口 查询所有图书带过滤接口 # 前后端需要做对接,对接第一个东西就是这个接口文档,前端照着接口文档开发 公司3个人&#xff…

性能测评高效云盘、ESSD Entry云盘、SSD云盘、ESSD云盘、ESSD PL-X云盘及ESSD AutoPL云盘

阿里云服务器系统盘或数据盘支持多种云盘类型,如高效云盘、ESSD Entry云盘、SSD云盘、ESSD云盘、ESSD PL-X云盘及ESSD AutoPL云盘等,阿里云百科aliyunbaike.com详细介绍不同云盘说明及单盘容量、最大/最小IOPS、最大/最小吞吐量、单路随机写平均时延等性…

数据库中的几种锁

数据库锁 1.数据库锁的种类 以 mysql innoDB 为例,数据库的锁有 排他锁,共享锁,意向锁,自增锁,间隙锁,锁的范围有包括,行锁,表锁 ,区间锁。 从应用研发的视角&#xff…

Linux 进程和计划任务管理

一 内核功用:进程管理、内存管理、文件系统、网络功能、驱动程序、安全功能等 1 程序 是一组计算机能识别和执行的指令,运行于电子计算机上,满足人们某种需求的信息化工具 用于描述进程要完成的功能,是控制进程执行的指令集 2…

电路笔记 :自激振荡电路笔记 电弧打火机

三极管相关 三极管的形象描述 二极管 简单求解(理想) 优先导通(理想) 恒压降 稳压管(二极管plus) 基础工作模块 理想稳压管的工作特性 晶体管之三极管(“两个二极管的组合” ) 电弧打火机电路 1.闭合开…

竞赛保研 基于机器视觉的停车位识别检测

简介 你是不是经常在停车场周围转来转去寻找停车位。如果你的车辆能准确地告诉你最近的停车位在哪里,那是不是很爽?事实证明,基于深度学习和OpenCV解决这个问题相对容易,只需获取停车场的实时视频即可。 该项目较为新颖&#xf…

Docker与虚拟机的比对

在Windows操作系统上的对比: 但是官方还是建议我们尽量不要将Docker直接安装到Windows操作系统上。