如何防止 PR 更改我的 CI 配置?

How can I prevent PRs from changing my CI configuration?

我们在 GitHub 中有一个开源项目。我们将 Azure DevOps 管道用于 CI.

我们在成功测试后将我们的工件发布到 S3 和 Maven,因此所有凭据都存储为秘密变量。

很高兴 exportecho $top_secret 可以方便地用 *** 混淆,但不幸的是,GitHub 上的任何用户都可以针对我们的 repo 创建拉取请求,并且作为一部分对于更改,他们可以编辑我们的 azure-pipelines.yml 并调用 curl(或类似的)从环境变量中读取凭据并将它们发送到他们自己的服务器。

在其他 CI 提供程序 (Travis CI) 中,无法从 PR 分支访问秘密变量。

如何防止 PR 触及我的 CI 配置文件并对其进行任何操作?

How can I prevent PRs from touching my CI configuration file and do anything with it?

你CI配置文件保存在GitHub开源中,你想限制用户修改这个文件,对吧?由于我们无法在 GitHub 中设置文件权限。我们无法阻止 PR 触及您的 CI 配置文件。

作为解决方法,我们可以在 Azure DevOps 中创建经典编辑器管道并设置 CI 触发器,如下所示。如果用户没有更改构建定义的权限,他们将无法更改您的 CI 构建定义。

更新1