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等等
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