Hot For Coding
Gitlab搭配Gitlab-CI配置

full

使用Gitlab做VCS可以很轻松的搭配Gitlab-CI做持续集成。

安装

Gitlab8以上已集成CI,安装gitlab-ci-server就能使用,以CentOS为例

curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-ci-multi-runner/script.rpm.sh | sudo bash
sudo yum install gitlab-ci-multi-runner

注册

gitlab-ci-multi-runner register

根据提示输入你的Gitlab地址,输入Token选择Runner方式,Token获取可以点CI/CD Pipelines进入配置页面获取

full

第一行就是

full

启动

启动特别简单

gitlab-ci-multi-runner start

可以把它加入到开机启动里

echo "sudo gitlab-ci-multi-runner start" >> /etc/rc.local

项目开启runner

进入项目配置页,点右上角的齿轮图标,点Runners

full

在Runner配置页面的下方有一个Enable for this project按钮,点击启动它,注意: Runner可以注册多个,每个项目可以独立的选择运行在哪些Runner上。

full

如你注册了两个Runner: Window和Linux,然后你有项目 a, b。a需要在Window上运行,b需要在Linux运行,那么你a启动Window runner,b启动Linux runner。假如还有一个c项目,需要在Window和Linux上运行,就启动两个

配置 .gitlab-ci.yml

项目根目录添加.gitlab-ci.yml文件,如:

stages:
  - install_deps
  - build
cache:
  key: ${CI_BUILD_REF_NAME}
  paths:
    - node_modules/
     
# 安装依赖
install_deps:
  stage: install_deps
  only:
    - develop
    - master
  script:
    - cnpm install
# 编译
build:
  stage: build
  only:
    - develop
    - master
  script:
    - gulp build

这个就是你要告诉CI要做什么,only是指定哪些分支才会执行,比如有些项目需要安装依赖结束后执行单元测试,比如这样的

stages:
  - install_deps
  - lint
  - test
  - build
cache:
  key: ${CI_BUILD_REF_NAME}
  paths:
    - node_modules/
    - bower_components/
# 安装依赖
install_deps:
  stage: install_deps
  only:
    - develop
    - master
  script:
    - cnpm install
    - bower install --allow-root
# 运行代码检测
lint:
  stage: lint
  only:
    - develop
    - master
  script:
    - gulp jshint
# 运行测试用例
test:
  stage: test
  only:
    - develop
    - master
  script:
    - npm run unit-test
# 编译
build:
  stage: build
  only:
    - develop
    - master
  script:
    - gulp build

文档可以直接看官网的教程,每一个配置都做了详细的说明

README配置Badges

CI执行的结果最直观就是添加Badges到README上,就像Github上的项目一样,如Webpack的Badges配置

full

使用最多的还是build和coverage,配置这两个特别简单,直接点击Settings -> CI/CD Pipelines进入配置页

先配置怎么获取coverage值,它给出了一些正则例子备用,也可以完全自己写

full

第二步,在下方找到Build statusCoverage report,复制自己需要的格式粘贴到README文件中,效果

full

TITLE: Gitlab搭配Gitlab-CI配置

LINK: https://www.qttc.net/474_gitlab_ci.html

NOTE: 转载内容请注明出处