构建配置验证

此页面记录了目前处于 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 该键包含破折号。替换破折号会导致一个已知的键。将使用已知的键。 使用下划线,而不是破折号。