## 持续集成

持续集成——持续不断的把代码集成（合并）到公共分支，并实现质量内建（扫描代码规范、自动化测试等）。

极狐 GitLab 提供新一代持续集成，与 Jenkins 相比有这些优点：

-   流水线既代码：只要 Git 中存在流水线脚本文件，提交代码即可自动执行，而无需创建持续集成，配置全部通过代码声明，而无需图形界面，而 Jenkins 某些配置只能通过图形界面设置；
-   yaml 语法：书写更简单，可在本地校验语法格式，而 `Jenkinsfile` 无法在本地校验；
-   语法更简单：比如无需拉取代码；

代码示例：

```yaml
image: node:16

cache:
  paths:
    - node_modules/

before_script:
  - npm install

lint:
  script:
    - npm run lint

test:
  script:
    - npm run test
  artifacts:
    when: always
    reports:
      cobertura: coverage/cobertura-coverage.xml
      junit: junit.xml
  coverage: '/All files[^|]*\|[^|]*\s+([\d\.]+)/'
```

https://docs.gitlab.com/ee/ci/
