Jenkins持续集成「配置Slave」

2020-12-02 15:36:37 浏览数 (1)

问题

1.做自动化测试不是把框架和测试用例实现了就没有然后了。写完的目的是运行到项目上去,这个项目上,怎么来运用啊?

我做这个的目的就是回归和冒烟。假设现在要做回归,回归根据开发转测试版本的情况。开发每天至少要给我们转一个测试版本,那我不可能每一个版本都去做回归。如果用例比较多,要运行几个小时,那就最好是放在晚上运行。回归这个工作可以不用利用工作时间来做。

代码写好后测试报告应该是发到测试人员和测试经理的邮箱,测试报告的结果代表测试人员的成果。晚上几个小时运行完成,第二天早上拿到这个测试报告先看下这个测试报告的结果是什么,把失败的都挑出来,看下为什么失败了,是bug就提到项目bug管理平台上。如果不是bug,就赶紧把自己的这条用例单独拎取出来调试。

2.尽早把用例放在jenkins平台上,还是用例完成的差不多了再放在jenkins平台上?

持续集成:一是持续,二是集成。

一个团队中,研发一个软件,每个开发只负责一部分,只有把每个人的一部分集成到一起才代表一个整体。所以这是个持续集成的过程。

早期就开始集成,这样就早点解决问题,改进自己的方法,减少问题的发生。这样等全部集成好了,会发现就没那么多问题了,前期集成的时候都一点一点得解决了。

测试领域是尽早介入尽早发现问题,开发领域,如果太晚介入问题就可能涉及架构调整了。架构调整就意味着很多东西都要返工,花费得时间太多,但是项目又不允许,只能一错再错一直错下去了。

假如我每天写3个自动化测试用例,只调试我今天写得3个测试用例有没有运行成功,就不会管前面写的用例了。本地运行之前写的所有的自动化用例时间可长了。所以在写了10个用例的时候,就可以加入jenkins集成。

每天写的测试用例都提交到svn/git上面。然后在持续集成平台,每天晚上8点钟,把这些代码都下载下来,然后配置一下,让它每天晚上都运行你的用例。今天运行了10个,明天晚上运行了13个....这样就是持续的运行过程中。

运行10条用例的时候发现了bug,就赶紧去改 ,改的时候就发现原来是这样要注意的,后面就不会再犯这样的错了。

当你写到60个用例的时候,前面的用例就已经非常稳定了,因为你每天都在调试它。

前期的结果不需要发给其它的测试人员,只需要发到自己的邮箱中,自己看着去调试即可。在这个过程中可以逐步的优化调整,慢慢提升它的通过率。

「在自己的本地只需调试现在正在开发的代码,jenkins负责给你全部放在一起运行,这就是持续集成。」

如果写了2个月的测试用例,就做了2个月的持续集成。

「jenkins是持续集成的手段之一。」

介入jenkins平台

Web自动化,客户一般是用Windows/linux来访问。

jenkins在linux上,代码在Windows上执行。

怎么介入jenkins平台?

jenkins一种新的模式:Master/Slave

1.为什么有Master/Slave模式?

因为和jenkins本身的功能有关。

一个公司有很多项目,大家都用jenkins平台。每一个项目上面都有环境部署,都有自动化测试。这么多项目都实现了自动化测试,全部都放在jenkins主机上运行。

每个项目都是晚上8、9、10、11点来运行自动化用例。运行自动化用例就会打开浏览器,你我它都打开浏览器是不是就乱套了?有可能就串操作了。

以前的模式,所有的任务都是由jenkins主机来运行(就是搭建jenkins服务器的这台电脑)。现在很多的项目都用它,这个主机的能力有限。设备的配置信息、负载都有限。

可以在jenkins上创建100-200个工程,但是如果让服务器一个人来干这个事,可能哪天就崩了。

每一个自动化任务都有相应的环境安装。让它执行100个任务,100个任务中,每个任务的环境它都需要具备。

2.当老板给你一个人安排这么多任务,你一个人干不过来了怎么办?你会向老板提议招人对吧。

当招来了一个小弟,那么你就是管理者了。

管理者:管理/分配任务--管理小弟--知道任务的结果。

小弟:接收任务--干活。

「Master就是管理者。Slave就是小弟--干活--其它的设备。Master(安装了jenkins的电脑)」

其它的电脑不需要安装jenkins的。只需要等着这个主地址向它发任务就行了,但是前提是它必须要向主机报到。Slave是没有限制的,Slave可以挂很多。挂10个20个都可以。

3.Slave向Master报到:

jenkins是个网站。以管理员的账户登录,可以对jenkins做很多的处理。在哪访问jenkins都一样,没说必须在主机访问,只要网络通顺,只要账号的权限够,该做的设置照样做。

以管理员的账号登录了:

远程工作目录:Slave涉及到的工作资源,全部放在这个目录下。

自己新建了一个Jenkins-Slave-Home文件夹,准备把执行机都放在这个下面:

以后在svn上下载的代码都是放在这个文件夹下。没有这个文件夹就创建个。

「在添加Agent节点的时候选择的是java web start方式启动的agent与Jenkins Server的连接。现在很多同学反馈找不到此选项了,开始我以为是汉化问题。后来发现新版本中修改了名称为Launch agent by connecting it to the master。如果你遇到了此类问题,可以选择Launch agent by connecting it to the master选项。」

改名字也不通知一声,哭了5555

这种连接方式,第一不需要向它传递ip地址,那么这个界面你只能在你的执行机上访问。比如我的这台电脑作为执行机,那么就必须在我这台执行机上访问网址。因为点击这个launch,就决定了是我这台电脑向主机报到,是通过这个程序去报到的。

没有明确给明ip地址,但是你在哪个电脑上点击的这个连接过程,那就是哪个电脑。因为本地运行这个程序,肯定知道自己的ip地址是多少的。

准备用谁当执行机,就用谁访问这个网址。

刷新后看到,连接成功的状态:

一个电脑只能连接一次,如果两台电脑都下载了,那就是2台执行机,以此类推。

「jenkins装在哪,哪个电脑就是主机。」

靠谱参考链接:

https://www.cnblogs.com/lcj0703/p/12268504.html

https://blog.csdn.net/weixin_40046357/article/details/107572671

未完待续~


0 人点赞