1987WEB视界-分享互联网热门产品和行业

您现在的位置是:首页 > WEB开发 > 正文

WEB开发

ALLEN老师自动化测试小课堂借助git+Jenkins实现脚本管理、部署及定时执行

1987web2023-10-06WEB开发113
前面我们已经学习了如何使用python+selenium+unittest+ddt等实现脚本的开发,并且可以在jenkins中实现定时任务的设置,下面我们借助git及Jenkins公式实现队自动化脚本

前面我们已经学习了如何使用python+selenium+unittest+ddt等实现脚本的开发,并且可以在jenkins中实现定时任务的设置,下面我们借助git及Jenkins公式实现队自动化脚本的管理、部署及定时执行。

  • git:自动化脚本版本控制、部署、协同开发等。
  • gitee:码云,是基于git实现在线代码托管的仓库。
  • jenkins:集成git及自动化脚本的定时任务设置。

一、git及gitee的使用

git 是一种版本控制系统,是一个命令,是一种工具。

gitee 即码云,是基于git实现在线代码托管的仓库,免费使用,不用自己搭建环境。

github也是一款常用的在线托管的仓库,相比而言,国内使用gitee更方便。

1、git安装

我们介绍比较简单的win10系统下安装git的方法,官网下载链接:

https://git-scm.com/download/win

2、gitee注册

目前 Gitee 提供了面向个人开发者的「社区版」和面向企业研发团队的「企业版」服务,支持 Git/SVN 管理,提供代码审核、Bug 跟踪以及 Webhook 钩子回调等功能,开发者可以在 Gitee 自行创建仓库。

如果是我们自己用的话,可以注册个人开发者用户,可免费创建 1000 个仓库(不限公有、私有),提供最多 5G 的免费代码存储空间。

通过访问码云首页右上角点击「注册」或点击「加入 Gitee」即可注册个人账号。

https://gitee.com/

在 Gitee 的注册界面依次填入各项,需注意的是:邮箱建议填写国内邮箱如163邮箱/QQ邮箱,以免因为众所周知的原因无法接收激活邮件,个性地址一经选定,无法修改,请慎重填写。当然,你也可以通过微信授权等第三方登录平台授权登录,授权登录后按照引导提示填写相关信息即可完成注册。

二、git进行脚本的管理

Git 的工作就是创建和保存你项目的快照, 常用的命令:git clonegit pushgit addgit commitgit checkoutgit pull

  • workspace:工作区
  • staging area:暂存区/缓存区
  • local repository:版本库或本地仓库
  • remote repository:远程仓库

1、gitee设置

1)注册并登录gitee,并在gitee中创建一个空分支的项目,创建仓库verydows_test

可以生成一个未初始化的在线仓库,以备后面用。

2)创建gitee的SSH公钥

Gitee 提供了基于SSH协议的Git服务,在使用SSH协议访问仓库仓库之前,需要先配置好账户/仓库的SSH公钥。

进入git安装目录,右键鼠标,点击git bash,输入:

ssh-keygen -t rsa -C "XXXXX@163.com"

按照提示完成三次回车,即可生成 ssh key,在下面文件夹中查看,打开并复制id_rsa.pub文件中的内容。

在gitee的【设置->SSH公钥】中添加标题和公钥,保存退出即可。

3)配置git的全局环境

在git bash命令行中输入如下命令,设置全局的用户名和邮箱。

git config --global user.name "ALLEN"
git config --global user.email "xxxxx@163.com"

2、推送脚本到gitee

我们需要提前准备使用python+selenium+unittest+ddt等实现的自动化脚本,在本地已经能够正常运行。

在脚本开发的目录下(D:\Git\project)启动cmd命令行,分别执行如下的命令,实现本地仓库上传到gitee的在线仓库。

1)生成一个隐藏的目录.git文件夹,生成本地仓库

cd D:\Git\project
git init

2)关联本地仓库gitee上的无分支仓库

先在gitee上获取verydows_test的HTTPS链接地址,复制出来即可。

在cmd窗口继续输入指令,不报错就可以继续了:

git remote add origin https://gitee.com/xxxxx/verydows_test.git

3)将本地所有文件加载到本地暂存区

通过执行git add *可以将当前文件夹下所有的文件及文件夹一起加载。

如果需要加载某个文件或者文件可以分别执行:

git add maintest.py
git add public/
git add *

3)本地暂存区提交到git本地仓库

git commit -m  第一次提交本地数据

4)本地仓库推送到gitee在线仓库

git push -u  origin master

5)刷新gitee网站的verydows_test仓库页面

verydows_test仓库中正常显示同步上来的文件,则推送脚本完成。

3、同步数据到本地仓库(这个可以不做,只是演示能下载到本地,Jenkins中配置即可)

再在需要下载并运行脚本的电脑上,同步数据到本地文件夹。

在本地创建一个新的文件夹目录:D:\Git\LocalProject

1)初始化本地仓库,cmd下运行:

cd D:\Git\LocalProject
git init

2)关联gitee仓库和本地仓库

git remote add origin https://gitee.com/xxxx/verydows_test.git

3)拉取数据到本地仓库

git pull origin master

4)查看下载到本地的脚本

三、jenkins+git配置

关于jenkins的安装参考前面的文章,本文不再赘述。

1、环境变量配置

1)配置python和git的环境变量。

2)git全局配置

在插件管理->全局工具配置中,如下图配置git工具的本地安装全路径,必须带这git.exe

否则在创建项目,添加gitee仓库的时候会报出错误:Failed to connect to repository : Error performing command: git.exe ls-remote -h xxxxxxx HEAD

2、配置私人令牌

在下面链接页面,获取个人gitee账户的私人令牌:

https://gitee.com/profile/personal_access_tokens

弹出的页面中,复制私人令牌的字符串备用。

在Jenkins中:【插件管理->系统配置】中配置gitee参数(需要安装gitee插件)

按照下面的配置设置令牌参数,保存。

在上图的证数令牌,下拉框中选择创建的令牌,保存退出即可。

在jenkins【插件管理->凭据管理】中查看令牌设置好的令牌。

3、配置项目(jenkins任务)

1)创建一个自由风格的项目

Jenkins首页->新建Item->项目名:verydows_test,选择freestyle project->确定

2)配置gitee链接

3)配置原码管理

在gitee中verydows_test仓库的HTTPs链接(如下图获取)。

在jenkins原码管理处,勾选git管理,Repository URL中输入上图中的地址:

此处如果粘贴url后报权限或者访问拒绝问题,主要原因是凭据问题,在上图的Credentials中【添加->Jenkins】,配置gitee的用户名及密码,再在上图中选中即可。

4)配置原码下载目录

前3步的内容配置好之后,jenkins结合git就可以实现master代码下载下来,我们可以自定义这个目录的位置

下面就可以设置触发器了,可以使用gitee的webhook是实现事件触发,但是webhook要求jenkins必须部署在公网上。

此处就已定时触发任务讲解。

5)配置定时任务

在构建触发器中选择时间触发器(Build periodically)。

00 18 * * *:表示每年每月每天的下午六点,触发执行构建。

6)构建项目

选择Execute windows patch command,执行下面任务:

  • cd到指定的下载代码所在的文件夹目录:
  • 执行脚本中的主运行文件maintest.py
d:
cd D:\Jenkins\workspace
python maintest.py
exit 0

7)保存、运行项目

保存退出,立马构建该项目,查看控制台运行情况。

到我们脚本执行的报告目录下就可以找到html执行报告文件了。

打开该文件,就是所有自动化脚本的执行情况:

四、总结

到此,我们就成功的实现了jenkins+git+gitee对自动化测试脚本的托管管理、自动部署和执行了。

大家可以仔细研究一遍,对我们建立持续集成思想,会有很大的帮助。


大家要是觉得对自己有帮助的话,就点赞、喜欢、收藏下该文,鼓励一下作者!!!

关注作者、专栏,可方便查阅后续整理的测试相关文章,您的关注是我持续创作的动力!!