如何防止 PR 更改我的 CI 配置?
How can I prevent PRs from changing my CI configuration?
我们在 GitHub 中有一个开源项目。我们将 Azure DevOps 管道用于 CI.
我们在成功测试后将我们的工件发布到 S3 和 Maven,因此所有凭据都存储为秘密变量。
很高兴 export
和 echo $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
我们在 GitHub 中有一个开源项目。我们将 Azure DevOps 管道用于 CI.
我们在成功测试后将我们的工件发布到 S3 和 Maven,因此所有凭据都存储为秘密变量。
很高兴 export
和 echo $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