# CI/CD配置文件校验指南

## 配置文件格式
GitLink使用`.gitlink-ci.yml`作为CI/CD配置文件，提交时会自动进行语法校验。

## 校验规则
1. **基本语法检查**
   - YAML格式必须正确
   - 缩进必须使用2个空格
   - 不允许使用tab字符

2. **必需字段验证**
   ```yaml
   version: 1.0  # 必填，指定配置文件版本
   stages:       # 必填，定义流水线阶段
   jobs:         # 必填，定义具体任务
   ```

3. **字段类型验证**
   - `version`: 字符串
   - `stages`: 数组
   - `jobs`: 对象
   - `script`: 字符串数组

4. **环境变量格式**
   - 变量名只能包含字母、数字和下划线
   - 变量名必须以字母开头

## 错误提示说明
当配置文件存在问题时，系统会在以下位置显示错误信息：
1. 提交时的即时反馈
2. CI/CD页面的构建日志
3. 合并请求的状态检查

## 常见错误及解决方案
1. **缩进错误**
   ```yaml
   # 错误示例
   jobs:
   build:    # 应该缩进2个空格
     script:
       - echo "Hello"
   ```

2. **未定义必需字段**
   ```yaml
   # 正确示例
   version: 1.0
   stages:
     - build
   jobs:
     build:
       script:
         - echo "Hello"
   ```

3. **环境变量格式错误**
   ```yaml
   # 错误示例
   variables:
     1_invalid: "value"  # 变量名不能以数字开头
   ```

## 配置文件模板
```yaml
version: 1.0
stages:
  - build
  - test
  - deploy

variables:
  MAVEN_OPTS: "-Dmaven.repo.local=.m2/repository"

jobs:
  build:
    stage: build
    script:
      - mvn compile

  test:
    stage: test
    script:
      - mvn test
``` 