GitLab 配置持续集成 runner

2018/4/10 posted in  git

最近组内在编写 react 组件库,涉及到多人协作问题,多人协作肯定会碰到版本管理、代码持续集成等问题;在现在这个大环境下代码版本管理第一解决方案肯定是 git,代码持续集成大家肯定会想到 Jenkins。鉴于公司内部使用自建 gitlab 管理代码,其实 GitLab 中也有持续集成的功能,下面我们就重点说说使用 GitLab 进行持续集成(CI)的方法。

1. GitLab runner

本次实践基于:GitLab Community Edition 10.1.2;
系统基于:windows7 x64企业版。

1.1、什么是 runner?

runner 可以运行你的作业,并将运行结果返回给 GitLab 的工具,通常配合 Gitlab 持续集成使用。
更多内容可以参考官网解释:GitLab Runner

1.2、runner 安装配置

前提:你的机器上有基本的开发环境;git、.net framework4.0 等运行环境。鉴于前端开发有些 node 包经常要依赖 .net framework 所以直接安装一次 vs 是最省事的,将所有 .net framework 环境安装好。

  1. 创建文件夹:D:\GitLab-Runner,并下载 gitlab-runner 安装程序 放置于当前目录下。(下载程序必须改名为:gitlab-runner
  2. 管理员运行git-bash 或者 cmd 或者 powershell 等命令行工具。进入 D:\GitLab-Runner 目录下,下一步开始注册 Runners。
  3. 注册 Runners
  4. 查看 windows 服务中是否有 gitlab-runner 服务,如果有就启动,没有在命令行,继续执行:./gitlab-runner.exe install 即可安装服务,再次查看并启动。
  5. 修改配置文件 D:\GitLab-Runner\config.toml 在其中 [[runner]] 下增加 shell='powershell'

到此你的 gitlab-runner 就算安装成功了,在你的 gitlab 项目中查看,就会发现,已经有 activated 的 Runners 在运行了。

1.3、runner 使用

使用需要在你的项目中增加配置文件:.gitlab-ci.yml
内容中执行的脚本是自己编写的。

stages:
  - prepare
  - eslint
  - test
  - deploy

cache:
  key: $CI_COMMIT_SHA
  untracked: true

prepare:
  stage: prepare
  script: npm install

eslint:
  stage: eslint
  script: npm run eslint

test:
  stage: test
  script:
    - npm test

build:
  only:
  - master@wangjianhui2464/react-components
  stage: deploy
  script:
    - npm run build

upload:
  only:
  - master@wangjianhui2464/react-components
  stage: deploy
  script:
    - npm run upload

当你在你的仓库中配置好次配置文件之后,每次提交代码 gitlab 就会自动执行相应的 jobs。这样一个持续集成的环境就算搭建成功了。

持续集成有时候会为我们的工程化提供很多便利,可谓是工程化之利器。

文章配图,后续补充。

参考文章:

GitLab官方文档
劈荆斩棘:Gitlab 部署 CI 持续集成
GitLab CI持续集成配置方案