最近给前端代码加上了单元测试,可能随着代码量增大,单元测试会越来越多,为了提升代码质量,决定采用自动化工具来跑前端工程的一些脚本。因为公司代码在gitlab上,加上gitlab自带有CI/CD工具,因此决定使用这个工具来做持续集成,这里记录一下这个工具安装和配置的过程。其实关于这个安装和配置过程,gitlab官方有比较完整的文档,但是中间也有遇到一些问题,所以自己记录一下,希望有同样疑惑的同学也可以有个参考。作为一个前端er,对服务器涉猎的知识不太多,如果有错误欢迎大家指正。
一、基础环境等
1.首先保证自己的gitlab项目根目录下有.gitlab.yml文件,用来向gitlab runner描述应该执哪些job,以及每个job需要跑的脚步命令是什么;
2.本文的gitlab runner安装环境是centos,如果是其他系统请参照官方文档来。
二、操作步骤
1.安装gitlab runner
我是直接采用二进制文件安装的方式,系统是Linux x86-64
- 下载二进制文件
sudo curl -L --output /usr/local/bin/gitlab-runner "https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64"
- 给文件操作权限
sudo chmod +x /usr/local/bin/gitlab-runner
- 安装以及运行gitlab runner
sudo gitlab-runner install --user=root --working-directory=/home/gitlab-runner
sudo gitlab-runner start
官方文档中,在这一步之前是先创建了一个用户专门来运行gitlab runner,但是我这里直接用的root用户;另外,一开始,我的working-directory是选择在/usr/local下创建的,这个working-directory是用来放gitlab runner执行任务时产生的文件,涉及到文件读写,有操作权限问题,所以后来我把这个working-directory换成了home下面的目录,不需要权限,这样可以解决运行gitlab runner执行job的权限问题。
2.注册gitlab runner
sudo gitlab-runner register
- 输入GitLab instance URL(url和token都在gitlab的配置页面提供的)
- 输入 token
- 输入runner的描述,有时候你的gitlab项目可能有多个runner,你需要靠这个描述来区分不同的runner
- 输入tags,用英文逗号间隔
- 输入runner的执行工具,这里我选的shell
操作完成之后,gitlab的CI/CD页面会显示已经连接上这个runner了
如果出现这个,就说明配置没问题了。
后面运行job的时候,可能会出现的问题:
1.linux服务器需要安装job里面用到的环境和包管理器等,例如我的web项目需要node和yarn等,否则会在运行job的时候报错
2.因为运行job涉及到去gitlab拉代码,所以也需要在安装gitlab runner的服务器安装git