Jenkins+Git+Appium 持续集成策略

本贴最后更新于 1000 天前,其中的信息可能已经东海扬尘

持续集成 (Continuous integration,简称CI)

持续集成是一种开发实践,它倡导团队成员需要频繁的集成他们的工作,每次集成都通过自动化构建(包括编译、构建、自动化测试)来验证,从而尽快地发现集成中的错误。让正在开发的软件始终处于可工作状态,让产品可以快速迭代,同时还能保持高质量。

Jenkins是基于Java开发的持续集成工具,开源免费,官网:https://jenkins.io/

App自动化测试执行策略

自动化测试主要用于回归测试,我们可以制定执行策略:比如每天固定、开发代码更新后定时执行,这就需要与Jenkins进行集成。

Jenkins集成App自动化测试问题点:

App自动化需要用到真机或模拟器,而Jenkins一般是部署在服务器上面的,将真机或模拟器接入到服务器上显然是不可能。

解决方案:

具体步骤

需要注意的是:本地执行电脑需要配置好JDK+Maven+Android SDK+Git的环境,并且需要通过adb链接上设备。

Jenkins 主从模式(master-slave)使用:

添加Node节点

Manage Jenkins -> Manage Nodes and Clouds -> New Node

image.png

需要注意 Launch method 一定要开启 jenkins 的远程连接端口,否则slave从机无法连接上Jenkins服务。这种连接用的是 JNLP4 协议, 这种协议是在 WebSocket + TLS 的基础上封装而成的长连接协议。可以在 jenkins 的安全设置面板中开启:进入Jenkins首页->安全面板

image.png

连接slave从机

两种方式都可以连接slave从机

image.png

任务配置中选择对应slave从机构建

image.png

可能碰到的问题1:

D:\jenkins-slave\workspace\jenkins_maven_demo>mvn clean test
The JAVA_HOME environment variable is not defined correctly
This environment variable is needed to run this program
NB: JAVA_HOME should point to a JDK not a JRE

ERROR: Error cloning remote repo 'origin'
hudson.plugins.git.GitException: Could not init D:\jenkins-slave\workspace\jenkins_maven_demo

解决方案:在slave节点配置工具路径:

image.png

可能碰到的问题2:

mvn not found

Jenkins slave节点的环境变量中没有maven的导致的,解决方案:将slave机器上面的PATH环境变量复制到此处:

image.png

回帖
请输入回帖内容 ...