天天看点

gitlab 不打tag怎么查看随机tag_Jenkins&Gitlab实现自动化测试脚本部署

概述

持续集成是什么?

典型的工作流程包括以下几个步骤:开发-提交-编译-测试-发布持续集成是一个开发的实践,需要开发人员定期集成代码到共享存储库。持续集成要求开发人员有频繁的构建。最常见的做法是,每当一个代码提交时,构建应该被触发。

Jenkins是什么?

是一个独立的开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。

Jenkins的作用

Jenkins会自动运行你的编译脚本,编译成功后,再运行你的测试脚本,这一步成功后,接着它会帮你把新程序发布出去,特别的,在最后一步,你可以选择手动发布,或自动发布,毕竟发布这件事情,还是需要人为的确认一下比较好。简而言之:Jenkins可以帮你在写完代码后,一键完成开发过程中的一系列工作。Jenkins的好处显而易见,它减少了你的重复劳动。更重要的是,一个团队的开发流程一开始是不一致的,不一致往往会带来各种各样的问题,最终体现在软件的质量或开发效率不够高,而Jenkins会帮你规范大家的行为,从而避免一系列的问题。 Jenkins的特点开源免费跨平台,支持所有的平台web形式的可视化的管理页面安装配置超级简单集成插件多jenkins的作用和它的图标表现出来的一样,就是为了做工作的时候,能够比较轻松,像一个绅士一样游刃有余

Jenkins环境搭建

https://jenkins.io/  jenkins官网默认情况下,最新版本和长期支持版本可供下载,点击下载区长期支持版本选项卡点击链接下载Jenkins.war 文件安装jdk,配置环境变量(步骤省略)在命令提示符下,到下载Jenkins.war 文件的目录,输入: java -jar jenkins.war --httpPort=8080在浏览器中输入:http://localhost:8080 访问jenkins主页根据提示,打开:X:\Jenkins\secrets\initialAdminPassword 文件查看密码。将密码填写到输入框中,点击 “Continue” 按钮接下来,根据提示安装,Jenkins 会帮我们安装各种主流插件最后一步,创建管理员账号,一定要记住,jenkins安装配置就完成了启动Jenkins访问 Jenkins http://localhost:8080

gitlab 不打tag怎么查看随机tag_Jenkins&Gitlab实现自动化测试脚本部署

登录jenkins管理员账号

gitlab 不打tag怎么查看随机tag_Jenkins&Gitlab实现自动化测试脚本部署

Jenkins配置  

系统管理(只配置我们自动化测试规范需要用到的项)系统设置全局安全配置工具配置插件管理节点管理用户管理 系统设置执行者数量配置,主要用来设置每次构建执行最多可以执行多少个构建Jenkins URL: jenkins服务器访问的地址Extended E-mail Notification邮件服务的配置 全局安全配置是否允许用户注册  根据实际情况进行配置用户授权策略,使用安全矩阵,用户登录到jenkins中可以进行那些操作取消防止跨站点请求伪造 全局工具配置Maven、Jdk、Gradle、Groovy、Ant、Docker默认Git配置,输入自己系统git安装的目录:如:D:\Program Files\Git\bin\git.exe 插件管理安装、更新、卸载jenkins插件(所有需要到的插件都在这里下载) 节点管理如构建提示,没有找到XXX,节点中必需配置环境变量

Jenkins目录说明  

每次构建的代码(工作空间)目录:工作空间windows在:X:\jenkins\workspace在jenkins目录下的workspace中是不同任务的工作空间 每次构建配置、历史构建目录:构建配置、历史构建在:D:\jenkins\jobs在jenkins目录下的jobs中是不同任务的构建配置和构建历史 Jenkins账号目录:Jenkins账号在:D:\jenkins\users在jenkins目录下的users中是jenkins的账号信息 Jenkins插件目录:Jenkins插件在:D:\jenkins\plugins在jenkins目录下的plugins中是jenkins的插件 Jenkins日志目录:Jenkins日志在:D:\jenkins\plugins在jenkins目录下的logs中是jenkins的日志

Jenkins构建  

Jenkins部署自动化测试脚本思路gitlab->pull(其他操作)->webHook(监听到)->触发(jenkins构建操作)->jenkins构建->pull 指定项目->构建脚本->完成。

gitlab 不打tag怎么查看随机tag_Jenkins&Gitlab实现自动化测试脚本部署

Jenkins的三种部署方式: jenkins触发式构建:开发人员push代码或者合并代码到gitlab项目的某个分支,jenkins就部署代码到对应服务器。 jenkins参数化构建:开发人员push代码或者合并代码到gitlab项目的某个分支之后,并不会部署代码,而是需要登录到jenkins的web界面,点击构建按钮,传入对应的参数(比如参数需要构建的tag,需要部署的分支)然后才会部署。 jenkins定时构建:定时构建是在参数化构建的基础上添加的,设置定时构建指定的任务。

Jenkins任务  

新建任务(实例讲解)例:jenkins构建一个任务,实现gitlab有代码提交,jenkins自动进行构建,把gitlab最新代码拉取到jenkins服务器,并把最新代码同步到不同构建的工作空间,并自动配置测试和沙盒环境不同的配置变量。1、输入任务名称2、选择构建一个自由风格的软件项目3、点击确认任务就创建好了 配置任务1、general任务描述:选填丢弃旧的构建:设置所有构建保留的天数,最大构建的个数2、源码管理我们使用gitlab进行源码管理Repository URL:添写gitlab中自动化测试项目的地址http://git.comjia.com:8888/testteam/AutomationTest.gitCredentials:添加一个jenkins全局用户(全局用户创建)[email protected] Specifier (blank for ‘any‘):选择分支:*/development源码库浏览器:自动3、构建触发器需要下载插件:gitlab的插件:GitlabHook Plugin和gitlab

gitlab 不打tag怎么查看随机tag_Jenkins&Gitlab实现自动化测试脚本部署

勾选:Build when a change is pushed to GitLab.GitLab webhook URL: http://101.200.57.228:8080/project/PullAutomationTestGitlab发生更改时将更改推送,GitlabWebhook网址Enabled GitLab triggers:已启用Gitlab触发器勾选:Push Events 推送事件勾选:Opened Merge Request Events打开的合并请求事件Rebuild open Merge Requests:重新生成打开的合并请求,选择neveron push to source branch(推到源分支时)on push to source or target branch(推到源分支或目标分支时)勾选:Approved Merge Requests (EE-only) 已批准的合并请求(仅限EE)勾选:Comments 注释Comment (regex) for triggering a build:用于触发生成的注释(regex)勾选:Enable [ci-skip]:启用[CI跳过]勾选:Ignore WIP Merge Requests:忽略WIP合并请求勾选:Set build description to build cause(eg. Merge request or Git Push ) 将生成描述设置为生成原因(例如合并请求或gitpush)Allowed branches 允许的分支选择:Allow all branches to trigger this job 允许所有分支触发此作业勾选:GitHub hook trigger for GITScm polling 用于gitscm轮询的github hook触发器在gitlab设置webhook打开gitlab,找到对应的project,打开Settings,进入到Web hooks,在URL处填写jenkins上的URL:http://101.200.57.228:8080/project/PullAutomationTest点击add webhook就可以啦

gitlab 不打tag怎么查看随机tag_Jenkins&Gitlab实现自动化测试脚本部署

通过url去触发生成一个随机的token,可以用opensslrand -hex 12,直接生成,或者自己指定也行在jenkins上面配置,在构建触发器选择触发远程构建,然后把生成的token写上

gitlab 不打tag怎么查看随机tag_Jenkins&Gitlab实现自动化测试脚本部署

4、构建环境可以不配置任何信息5、构建添加构建步骤-执行windows批处理执行windows批处理命令:D:cd D:\jenkins\workspace\PullAutomationTestxcopy *.* /e /yD:\jenkins\workspace\runFrontendTestStayPhone\xcopy *.* /e /yD:\jenkins\workspace\runJuliApiTestCase\xcopy *.* /e /yD:\jenkins\workspace\runFrontendSandboxStayPhone\pythonD:\jenkins\workspace\runFrontendSandboxStayPhone\testMethods\jenkinsEditFile.pycdD:\jenkins\workspace\runFrontendSandboxStayPhonexcopy *.* /e /yD:\jenkins\workspace\runJuliApiSandboxCase\cd ..保存,执行构建即可

Jenkins执行UI自动化脚本

自动化测试处于Devops中的一环,自动化测试的职责主要是负责冒烟测试以及回归测试和功能测试,包括性能测试。Devops:DevOps:Development和Operations的组合可以把DevOps看作开发(软件工程)、技术运营和质量保障(QA)三者的交集。详细查看:https://baike.baidu.com/item/devops/2613029?fr=aladdin

gitlab 不打tag怎么查看随机tag_Jenkins&Gitlab实现自动化测试脚本部署

新建任务(实例讲解)例:jenkins构建一个任务,实现在Jenkins中可视化执行指定工作空间的Web自动化测试脚本,脚本执行完成生成可视化测试报告,报告发送邮件、报告在每次构建中展示,每次构建完成显示每次构建的人员,并邮件、钉钉通知构建结果1、输入任务名称2、选择构建一个自由风格的软件项目3、点击确认任务就创建好了 配置任务1、general任务描述 选填丢弃旧的构建,设置所有构建保留的天数,最大构建的个数2、源码管理  选择无3、构建触发器选择:Build when job nodes start 在构建开始的时候触发(插件:Build User Vars Plugin),在下面就可以配置构建人的信息了Restricted node Label 受限节点标签  不输入Quiet period 当为0时停止4、构建环境勾选:Set jenkins user build variables 设置Jenkins用户构建变量5、构建添加构建步骤-执行windows批处理执行windows批处理命令:pythonD:\jenkins\workspace\runFrontendTestStayPhone\runFrontendTestStayPhone.py添加构建步骤-Update build name勾选:Read from file   Build name file path默认version.txt勾选:Use macro 使用宏 Build name macro template 生成宏模板#${BUILD_NUMBER} - 本次构建人:${BUILD_USER} Variable Description变量描述BUILD_USER Full name (first name + lastname) BUILD_USER_FIRST_NAME  First nameBUILD_USER_LAST_NAME  Last nameBUILD_USER_ID  Jenkins user IDBUILD_USER_EMAIL  Email address添加构建步骤-执行windows批处理Execute system Groovy script 执行系统groovy脚本(添加:Groovy插件)groovy command Groovy命令Groovy Script:System.setProperty("hudson.model.DirectoryBrowserSupport.CSP","")作用防止jenkins设置了一些安全策略,阻止css、js显示构建后操作增加构建后操作步骤-Publish HTML reportsPublish HTML reports 发布HTML报告HTML directory to archive 要存档的HTML目录report/frontend/   工作空间-任务目录下的报告目录Index page[s] 索引页[S]report.html 报告名称Report title 报表标题HTML Report勾选:Keep past HTML reports保留过去的HTML报告勾选:Always link to last build始终链接到上一个生成勾选:Allow missing report允许丢失报告Include files 包含文件**X  在指定M~N范围内或整个有效区间内每隔X构建一次 A,B,...,Z        匹配多个值H 表示随机

gitlab 不打tag怎么查看随机tag_Jenkins&Gitlab实现自动化测试脚本部署

举例:第一个是代表分钟 (0~59) H 表示随机12 * 每个小时的第12分钟都构建一次H/5 * 每隔5分钟构建一次H(1~23) 每个小时里的 1到23分钟的随机一个点触发第二个是代表小时(0~23)H 6-18/2 * 上午6点到下午六点期间的每隔2个小时 构建一次H H/2 *每隔2小时构建一次第三个是代表天**任意一天20 16 15 每个月的15号下午16点20分构建一次第四个是代表月份(1~12)H/3 12 H(1-6) * 1到6月里随机的某个月的12号每隔3小时构建一次第五个是代表星期(0~7) 0和7代表周日H/30 10-20/2 5-30 10 1-5 每10月份的5号到30号周一到周五的 10点到20点每隔2.5个小时触发一次任务-构建触发器-定时构建-日程表

gitlab 不打tag怎么查看随机tag_Jenkins&Gitlab实现自动化测试脚本部署
字段 * * * * *
含义 分钟 小时 日期 月份 星期
取值范围 0-59 0-23 1-31 1-12 0-7
示例
每隔15分钟执行一次 H/15 * * * *
每隔2个小时执行一次 H/2 * * *
每隔3天执行一次 H H/3 * *
每隔3天执行一次(每月的1-15号) H 1-15/3 * *
每周1,3,5执行一次 H * * 1,3,5
规则
指定时间范围 a-b
指定时间间隔 /
指定变量取值 a,b,c

以上就是Jenkins&Gitlab实现自动化测试脚本部署 的知识,大家学到了吗,欢迎点赞、评论、打赏作者,更多知识点将在后续继续分享学习。

继续阅读