我们在 GitHub 中有一个开源项目。我们将 Azure DevOps 管道用于 CI。
我们在测试成功后将我们的人工制品发布到 S3 和 Maven,因此所有凭据都存储为秘密变量。
很高兴 export
和 echo $top_secret
可以方便地用 *** 混淆,但不幸的是,实际上 GitHub 上的任何用户都可以针对我们的存储库创建拉取请求,作为更改的一部分,他们可以编辑我们的 azure-pipelines.yml 并调用 curl(或类似的)从环境变量中读取凭据并将它们发送到他们自己的服务器。
在其他 CI 提供者 (Travis CI) 中,无法从 PR 分支访问秘密变量。
如何防止 PR 接触我的 CI 配置文件并对其进行任何操作?