51Testing软件测试论坛

标题: 使用gitlab runner做持续集成测试 [打印本页]

作者: 八戒你干嘛    时间: 2017-6-20 13:00
标题: 使用gitlab runner做持续集成测试
gitlab持续集成


1、gitlab中的项目页,设置-Runners-Specific runners:获得URL和token,用于步骤3

2、选择运行测试脚本或构建的主机,安装gitlab-ci-multi-runner
a、gitlab 本机
b、其他服务器主机
c、docker
官方文档 https://gitlab.com/gitlab-org/gi ... stall-gitlab-runner

3、步骤2中的环境,绑定gitlab仓库, $: sudo gitlab-ci-multi-runner register 输入项目中的URL和token,输入执行方式:如doker,shell等等



4、gitlab项目的根目录,配置.gitlab-ci.yml
https://docs.gitlab.com/ee/ci/yaml/README.html

5、gitlab中push代码,自动执行.gitlab-ci.yml配置。

6、.gitlab-ci.yml 举例,执行shell


7、命令行
$ sudo gitlab-ci-multi-runner list

$ sudo gitlab-runner list
$ sudo gitlab-runner verify
$ sudo gitlab-runner unregister --name "name"
$ sudo gitlab-runner register

8、在docker中执行gitlabrunner的job
a、在自己的私有docker image中执行:
1)提交修改过的image到docker hub,比如https://hub.docker.com/r/huskar/unit/, 其tag:forphp
2)在执行job的机器上执行 $sudo gitlab-runner register,其中的executor 输入:docker,docker image输入docker hub上的 :image名称:Tag





流程:
1、push代码,触发runner
2、启动一个执行器,本地shell 或docker
3、将项目该分支代码 pull到执行器
4、执行项目根目录中的配置文件 .gitlab-ci.yml,如进行单元测试,打包,安卓真机测试
5、输出执行结果



遇到的问题:
1、注册runner后在gitlab中可看到,但不能联通,在runner的机器上执行

解决方法 $ gitlab-ci-multi-runner --debug run


2、使用mac作为runner机器时,重启机器后,gitlabrunner不能自动启动运行

解决方法,运行register时不要使用su do ,$ gitlab-runner register




作者: 巴黎的灯光下    时间: 2017-6-20 13:11
学习了!
作者: 八戒你干嘛    时间: 2017-6-20 13:13
巴黎的灯光下 发表于 2017-6-20 13:11
学习了!

互相学习!




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2