公司前段时间组织搞了一波Continuous Integration,项目都是基于gitlab的,所以就用到了gitlab-ci和相应的gitlab-runner,以下只是做简单的使用记录,还需要自己不断的对CI进行实践。
CI是软件(产品)研发生命周期中对代码质量、系统集成的一个持续构进的过程,当作为一个团队开发产品时,每个人都要开发自己的功能模块,最终都需要集成在一起,代码也需要集中托管到同一个地方,通过使用一些自动化的代码打包、测试工具,能够在开发人员每提交一次代码的时候,系统自动对程序进行打包和单元测试,如果出现问题,及时通过邮件等方式通知相关的开发人员。
GitLab是一个集代码管理、测试、代码部署于一体的开源应用程序,它包括一个有非常好的权限控制的Git版本管理系统,代码评审系统,问题跟踪系统,活动反馈系统,wiki,持续集成CI系统等。
要想在gitlab中做持续集成,前期准备工作要做好,首先是对gitlab-runner
的应用,配置一个Runner
来做编译、测试、打包等工作,并在项目根目录中添加CI配置脚本文件.gitlab-ci.yml
。
配置Runner
在Mac电脑上配置一个Runner,要安装一个代理程序gitlab-ci-multi-runner
,通过它来将Mac电脑注册到gitlab服务器上,然后这台mac机器就能接收到gitlab服务器下发的CI任务,完成相应的编译、测试、打包等工作,然后将结果反馈给gitlab服务器。
安装gitlab-ci-multi-runner
终端输入:
sudo curl --output /usr/local/bin/gitlab-ci-multi-runner https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-ci-multi-runner-darwin-amd64
然后输入:
sudo chmod +x /usr/local/bin/gitlab-ci-multi-runner
接下来就可以通过gitlab-ci-multi-runner
进行注册,注册时需要gitlab上项目Runner的url和Token,示例:
gitlab-ci-multi-runner register
#Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/ci):
#输入上图中的URL.
#Please enter the gitlab-ci token for this runner:
#�输入上图中的token.
#Please enter the gitlab-ci description for this runner:
#输入一个描述信息,这里我们输入mac_runner
#Please enter the gitlab-ci tags for this runner (comma separated):
#�输入一些标签,这里我们输入"mac,xcode7.1"
# Registering runner... succeeded runner=euasz2j9
#Please enter the executor: docker-ssh+machine, docker, docker-ssh, parallels, shell, ssh, virtualbox, docker+machine:
#这里我们输入shell,因为ios项目的编译、测试、打包我们都采用脚本来执行。
#Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!
#注册成功,接下来是要启动它
接下来操作:
gitlab-ci-multi-runner install
gitlab-ci-multi-runner start
这两步可能终端会出错误,需要查自查解决,可参考1,参考2,Mac上Runner的启动方式可能需要判断处理来达到开启运行Runner的目的。
增加CI脚本文件.gitlab-ci.yml
在项目根目录创建.gitlab-ci.yml文件,可参考官方指导,还需自己多查资料进行实践学习。
网友评论