.gitlab ci.yml 文件配置 - 1990bingliu/ubuntu_gitlab GitHub Wiki

.gitlab-ci.yml是什么,.gitlab-ci.yml文件告诉GitLab runner要做什么事情,默认三个stage:build,test,deploy。

不必3个都用,没有job的节点会被忽略。

.gitlab-ci.yml有版本控制,因此各个分支或fork可以使用自己的pipelines和job。

.gitlab-ce.yml

stages:
  - install_deps
  - test
  - build
  - deploy_test
  - deploy_production

# 安装依赖阶段
install_deps:
  stage: install_deps
  tags:
    - build
  only: 
    - master
    - develop
  script:
    - echo 'npm install'

# 运行测试阶段
test:
  stage: test
  tags:
    - build
  only: 
    - master
    - develop
  script:
    - echo 'npm test'

# 打包编译
build:
  stage: build
  tags:
    - build
  only: 
    - master
    - develop
  script:
    - echo 'npm run clean'
    - echo 'npm run build'

# 部署测试服务器
deploy_test:
  stage: deploy_test
  tags:
    - build
  only:
    - develop
  script:
    - echo 'msg:deploy to test env'

# 部署生产服务器
deploy_production:
  stage: deploy_production
  tags:
    - build
  only:
    - master
  script:
    - echo 'msg:deploy production.'
stages下的deploy说明在代码提交后CI需要执行deploy节点的内容。 
deploy的script就是一个个shell命令,这里需要注意每个命令都以杠+空格开头。 
only:只有向dev分支提交代码时才生效。 
tags:只有拥有该tags的Runner才需要执行。(runner注册时,设置的tag。只有在yml中配置与runner注册的一样方才能执行)