使用Azure DevOps构建公共GitHub代码仓库

3
如何使用Azure DevOps作为构建管道的一部分来构建公共GitHub存储库?例如,我使用开源工具包(如SonarQube),我希望使用持续集成(CI)部署SonarQube-这样,我的开发团队始终拥有最新的服务器。
看起来我必须fork存储库并将repo访问权限提供给Azure Pipeline。Azure DevOps仅列出我的自己的存储库-因此需要fork-并且由于我对它们具有管理员访问权限,我可以向Azure Pipeline提供访问权限。
是否有一种只使用“读取”访问权限就可以完成此操作的方法?

你是使用 YAML 构建还是可视化设计器构建? - Daniel Mann
@DanielMann:这是一个YAML GitHub(YAML)管道。似乎并不重要,因为在创建管道之前,您需要与GitHub建立服务连接。服务连接(安装令牌或PAT)只能连接到您自己的存储库。 - Vyas Bharghava
针对这个特定的例子,我认为只需要进行 git 克隆。凭直觉,我尝试使用“其他 Git 存储库”,输入公共克隆 URL 和我的 GitHub 用户名和密码(只有读取公共存储库的权限)。然后将文件复制到 drop 文件夹并发布相同的内容。如果服务器需要从发布管道安装,则可以使用此方法。但是,SonarQube 通常只在构建期间使用。因此,在构建管道中使用命令行任务直接执行 'git clone <public repo url>' 并在分析代码之前安装服务器会更简单。 - Vyas Bharghava
如果GitHub存储库是公共的,选项“其他Git Repo”应该适用于您,现在这个问题怎么样? - Leo Liu
我尝试使用其他的Git/YAML选项来构建一个公共repo(MarcStan/lets-encrypt-azure),并在repo根目录中存在azure-pipelines.yml文件。保存管道时出现以下错误:“无法在所选GitHub存储库上配置服务。这可能是由于没有必要的权限来管理所选存储库的钩子引起的。”因此,@leo-liu-msft,该选项似乎不能与只读访问一起使用。 - Bob Meyers
1个回答

1
你可以在Azure DevOps中创建公共项目,或者使用GitHub集成https://github.com/marketplace/azure-pipelines来使用Azure管道,这是你的最佳选择。或者直接在Azure管道定义中选择GitHub或外部Git存储库。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接