我正在通过Travis CI设置一些测试。我有一些包含AWS凭据的秘密加密环境变量。根据{{3}},加密环境变量在不受信任的构建中不可用,例如GitHub Pull Requests。我想这样做,以便在运行不受信任的构建时,测试脚本会执行不同的操作。
str_to_date()
表示Travis提供TRAVIS_PULL_REQUEST
以说明何时由拉取请求触发构建。但是,我不清楚特拉维斯是否有其他情况可能会隐藏加密的环境变量。正如它之前提到的(强调我的):
加密变量不适用于来自其他存储库的不受信任的构建,例如拉取请求。
这告诉我除了简单的Pull Requests之外,还有Travis认为不受信任的其他构建。
TRAVIS_SECURE_ENV_VARS
似乎更合适,但是当安全变量定义时,它似乎设置为true
,无论它们是否被使用。如果由不受信任的构建完成,这会解析为false
吗?
显而易见的解决方案当然是在代码运行时检查是否完全定义了秘密环境变量。但这对我的用例来说并不理想,尽管如果我找不到任何东西,这可能就是我最终会做的事情。