CJ *_*nis 1 github badge travis-ci infection
每次我部署到 Github 时,Travis CI 在其报告的末尾都会说:
Dashboard report has not been sent: neither INFECTION_BADGE_API_KEY nor STRYKER_DASHBOARD_API_KEY were found in the environment
我已经尝试设置环境变量至少四次:
起初我的.travis.yml文件是这样的:
language: php
php:
- '7.3'
install: composer update
script:
- vendor/bin/infection --min-covered-msi=90 --min-msi=90
dd:
secure: "A/s0...bS8="
Run Code Online (Sandbox Code Playgroud)
这是因为我错过了在短划线的一个--add中travis encrypt STRYKER_DASHBOARD_API_KEY=<my-secret-uuid-key> --add(从链接步骤4)。
当我修复它时,它给出了相同的错误消息:
-dd:
- secure: A/s0...bS8=
+env:
+ global:
+ secure: A/s0...bS8=
Run Code Online (Sandbox Code Playgroud)
随后的每次尝试都会出现相同的错误。尝试生成新密钥:
- secure: A/s0...bS8=
+ - secure: iQra...Ol0=
Run Code Online (Sandbox Code Playgroud)
引用加密值:
- - secure: iQra...Ol0=
+ - secure: 'iQra...Ol0='
Run Code Online (Sandbox Code Playgroud)
不使用该--add选项,而是从控制台手动复制并粘贴到配置文件中:
- - secure: 'iQra...Ol0='
+ secure: "CPPE...3nk="
Run Code Online (Sandbox Code Playgroud)
让这个工作的正确方法是什么?
TL;DR:现在在专业服务器上创建了新的免费 Travis CI 帐户。
诊断难,修复容易!创建于特拉维斯CI一个安全的环境变量的说明没有提到,所有的新帐户现在的专业服务器创建(特拉维斯-CI。的COM),并在老免费服务器不再(特拉维斯-CI。组织),甚至免费帐户!更令人困惑的是,您可以在两个地址看到相同的帐户!
因此,要加密环境变量,您必须将服务器标志(--pro或--com)传递给travis encrypt:
travis encrypt --pro MY_SECRET_ENV=super_secret --add
Run Code Online (Sandbox Code Playgroud)
或者
travis encrypt --com MY_SECRET_ENV=super_secret --add
Run Code Online (Sandbox Code Playgroud)
MY_SECRET_ENV用变量名和super_secret实际值替换。
如果您有一个仍在travis-ci.org上的旧免费帐户,您可以继续使用:
travis encrypt MY_SECRET_ENV=super_secret --add
Run Code Online (Sandbox Code Playgroud)
或者
travis encrypt --org MY_SECRET_ENV=super_secret --add
Run Code Online (Sandbox Code Playgroud)
对于travis encrypt到可以成功解密输出值,你必须知道你的账号是哪个服务器,这是目前非常新用户感到迷惑。
| 归档时间: |
|
| 查看次数: |
1016 次 |
| 最近记录: |