【发布时间】:2020-02-13 18:55:52
【问题描述】:
如何使用 Azure DevOps 作为构建管道的一部分构建公共 GitHub 存储库?例如,我使用 SonarQube 等开源工具包
看起来我必须分叉存储库并提供对 Azure Pipeline 的存储库访问权限。 Azure DevOps 仅列出我自己的存储库 - 因此是 fork - 由于我对它们具有管理员访问权限 - 我能够提供对 Azure Pipeline 的访问权限。
有没有办法只通过“读取”访问来做到这一点?
【问题讨论】:
-
您使用的是 YAML 构建还是可视化设计器构建?
-
@DanielMann:这是一个 YAML GitHub (YAML) 管道。这似乎无关紧要,因为您需要与 GitHub 建立服务连接才能创建管道。服务连接(安装令牌或 PAT 两者)只能连接到您自己的存储库。
-
对于这个具体的例子,我想我只需要一个 git clone。在预感中,我尝试使用“Other Git Repo”,输入公共克隆 URL 以及我的 github 用户名和密码(只有对公共 repo 的读取权限)。然后将文件复制到放置文件夹并发布相同。如果需要从发布管道安装服务器,这将有所帮助。但是,SonarQube 通常只会在构建期间使用。因此,在构建管道中使用命令行任务直接执行“git clone
”并在分析代码之前安装服务器会更简单 -
如果 GitHub Repository 是公开的,Other Git Repo 选项应该适合你,现在这个问题怎么样?
-
我尝试使用其他 Git/YAML 选项来构建一个公共存储库 (MarcStan/lets-encrypt-azure),其中存储库根目录中存在 azure-pipelines.yml 文件。保存管道导致此错误:“无法在所选 GitHub 存储库上配置服务。这可能是由于没有必要的权限来管理所选存储库的挂钩。”所以不,@leo-liu-msft 该选项似乎不适用于只读访问。
标签: github azure-devops continuous-integration azure-pipelines