八戒你干嘛 发表于 2017-6-20 13:00:58

使用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/gitlab-ci-multi-runner#install-gitlab-runner

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

http://images2015.cnblogs.com/blog/1133057/201706/1133057-20170601140906102-296054162.png

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
http://images2015.cnblogs.com/blog/1133057/201706/1133057-20170601141004586-1498348834.png

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

http://images2015.cnblogs.com/blog/1133057/201706/1133057-20170601141300508-1966105525.png



流程:
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:06

学习了!

八戒你干嘛 发表于 2017-6-20 13:13:23

巴黎的灯光下 发表于 2017-6-20 13:11
学习了!

互相学习!
页: [1]
查看完整版本: 使用gitlab runner做持续集成测试