需求:
使用git进行代码管理,当git上代码发生变化时,jenkins自动构建,从git上把最新的代码拉取下来自动执行
解决:
- 在github上创建好一个公共仓库,把本地代码推送到github上
- 在自己的Windows电脑上安装好jenkins,登录jenkins,在系统管理->全局工具配置里面找到git,把git的path to Git executable修改为自己电脑上的git地址

- 新建一个项目,源码管理里面配置git

- 构建触发器选择 Poll SCM

- 在再构建里面配置好要执行的python命令
问题:
- 控制台输出乱码
- 查看了jenkins的文件编码是gbk,根据网上搜索出来的方法解决了jenkins编码问题,将文件编码修改成了utf-8,控制台输出乱码问题得以解决

- 脚本是无界面运行的,没有打开浏览器,导致pyautogui控制的操作未生效
- 当jenkins作为一个服务运行时,是不会分配真正的桌面的。而selenium以编程的方式检查页面内容,因此不介意该页面实际上未显示在任何屏幕上。但是pyautogui需要有真实的界面
- 解决办法是通过节点去执行


- 通过从节点的形式去构建执行,可以打开浏览器,脚本运行正确。但是通过从节点,就又出现了编码的问题,原因是从节点的文件编码又是gbk

在网上搜寻了一圈,没找到修改从节点文件编码的方法,给从节点加了环境变量也没起作用,至此,算是留下了一个坑 ~~~
文件编码的深坑绕不过,故而又通过mac部署jenkins~~~
在mac上:
安装:brew install jenkins
启动:brew services start jenkins
在mac上遇到的问题是,期望修改jenkins的主目录,配置了JENKINS_HOME,完全没有生效~~~
后面找到个博客写的是使用java -jar /usr/local/Cellar/jenkins/版本号/libexec/jenkins.war --httpPort=8080启动,发现通过该种方式启动的jenkins,主目录就变成了JENKINS_HOME配置的目录
而且,通过brew启动的jenkins,就跟Windows上一样,不会分配桌面,执行web自动化脚本,是无界面运行的,要解决pyautogui的问题还是只有通过从节点去执行
但是通过java -jar命令启动的jenkins,能够打开浏览器,都不需要配置从节点
版权声明:本文为sun_977759原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。