构建配置验证
此页面记录了目前处于 Beta 版的新构建配置验证功能。
Beta 版加入 #
您可以在 Travis CI UI 中使用仓库设置“构建配置验证”,或者在您的 .travis.yml
文件中指定 version
来加入。
version: ~> 1.0
构建配置验证 #
当激活时,构建配置验证 功能将验证和规范化任何传入的构建配置源(例如,您的 .travis.yml
文件和通过 API 创建的构建请求中的配置)。
它使用正式的 配置格式规范,该规范采用众所周知且得到广泛支持的 JSON Schema 格式。此功能取代了任何以前的代码风格检查和验证工具。
从此规范自动生成的参考文档可在 此处 找到。
您可以在 Travis CI 构建配置资源管理器(实验性)中尝试并检查 YAML 构建配置源将如何被规范化。
验证消息 #
验证构建配置会生成验证消息,您可以在 Travis CI UI 中相应构建的“查看配置”选项卡上查看这些消息。
这使您能够直接了解您的构建配置是如何处理的,Travis CI 可能发现了哪些问题以及如何解决这些问题。
这些消息有 4 个严重级别
alert
- 构建配置可能存在泄露秘密的风险。您应该特别注意这些消息。error
- 构建配置包含我们的系统无法恢复的严重错误,因此它将忽略相应的配置部分。warn
- 构建配置包含我们的系统可以修复的错误。忽略这些消息是安全的。info
- 构建配置解析器已对配置进行了更改,您可能需要了解这些更改。忽略这些消息是安全的。
验证消息类型 #
此表格列出了构建配置验证消息类型,并解释了如何响应这些消息。
级别 | 键 | 含义 | 操作 |
---|---|---|---|
警告 | secure |
该键期望一个加密的值,但给出了一个未加密的值。这可能会泄露凭据。 | 加密给定的密钥。 |
错误 | duplicate_key |
该键被多次给出,仅最后一个值将保留,如 YAML 中定义。 | 将给定键上的部分合并成一个。 |
错误 | invalid_condition |
无法解析该条件。 | 修复该条件。有关如何在本地验证条件的说明,请参见 测试条件。 |
错误 | invalid_env_var |
无法解析该环境变量。 | 修复该环境变量。 |
错误 | invalid_format |
该值格式无效。 | 修复使用的格式。 |
错误 | invalid_type |
该部分类型无效,无法使用。 | 检查此配置部分的文档,并使用适当的 YAML 类型。 |
错误 | overwrite |
给出了两个相互覆盖的键。 | 仅使用给定的键之一,并将它们的值合并成一个。 |
错误 | required |
未给出必需的键。 | 指定该键。 |
错误 | unknown_value |
该值未知。 | 删除该值,或使用等效的已知值。 |
警告 | clean_key |
该键未知,并包含特殊字符。删除特殊字符会导致一个已知的键。将使用已知的键。 | 删除特殊字符。 |
警告 | clean_value |
该值未知,并包含特殊字符。删除特殊字符会导致一个已知的键。将使用已知的键。 | 删除特殊字符。 |
警告 | empty |
该部分为空,将被删除。 | 无需操作。为了删除该消息,请删除该键,或添加内容。 |
警告 | find_key |
该键未知。相反,另一个类似的键是已知的,这被认为是一个拼写错误。将使用另一个键。 | 更正拼写错误或删除该键。 |
警告 | find_value |
该值未知。相反,另一个类似的值是已知的,这被认为是一个拼写错误。将使用另一个值。 | 更正拼写错误或删除该键。 |
警告 | strip_key |
该键包含空格。删除特殊字符会导致一个已知的键。将使用已知的键。 | 删除空格。 |
警告 | unexpected_seq |
该键不期望一个序列(数组、列表)。这是 YAML 中的常见错误,因此假设该序列中的第一个条目代表了预期的配置。将使用序列中的第一个值。 | 删除将该部分变成 YAML 序列的额外破折号。 |
警告 | unknown_key |
该键未知。 | 删除该键,或使用等效的已知键。 |
警告 | unknown_var |
该模板变量未知,可能会导致错误或通知中断。 | 删除该变量,或使用等效的已知变量。 |
信息 | alias_key |
该键是另一个键的别名。将使用该别名键。 | 无需操作。为了删除该消息,请使用该别名键。 |
信息 | alias_value |
该值是另一个值的别名。将使用该别名值。 | 无需操作。为了删除该消息,请使用该别名值。 |
信息 | default |
未给出该键,将使用该键的默认值。 | 无需操作。为了删除该消息,请指定一个值。 |
信息 | deprecated |
该功能已弃用。 | 按照该消息中指示的说明操作。 |
信息 | deprecated_key |
该键已弃用。 | 使用该消息中提到的键或解决方案。 |
信息 | deprecated_value |
该值已弃用。 | 使用该消息中提到的值或解决方案。 |
信息 | downcase |
该字符串包含大写字母。 | 将使用该字符串的小写版本。 |
信息 | duplicate |
该值重复。 | 无需操作。为了删除该消息,请使用唯一的值。 |
信息 | edge |
该功能是边缘功能。 | 无需操作。请注意,该功能的行为可能会发生变化或消失。 |
信息 | skip_allow_failure |
该构建已跳过作业允许失败规则,因为其条件不匹配。 | 无需操作。 |
信息 | skip_exclude |
该构建已跳过作业排除规则,因为其条件不匹配。 | 无需操作。 |
信息 | skip_import |
该构建已跳过导入,因为其条件不匹配。 | 无需操作。 |
信息 | skip_job |
该构建已跳过作业,因为其条件不匹配。 | 无需操作。 |
信息 | skip_notification |
该构建已跳过通知目标,因为其条件不匹配。 | 无需操作。 |
信息 | skip_stage |
该构建已跳过阶段,因为其条件不匹配。 | 无需操作。 |
信息 | underscore_key |
该键包含破折号。替换破折号会导致一个已知的键。将使用已知的键。 | 使用下划线,而不是破折号。 |