iOS 的 Azure DevOps 管道 - 快速通道匹配克隆问题

Azure DevOps Pipeline for iOS - Fastlane Match Clone Problem

我正在尝试使用 Fastlane 将 iOS 管道实施到 Azure DevOps。我的项目中已经有了 Fastlane,并成功部署了测试版和试用版。我的问题是,当我 运行 在 Azure 管道上编写脚本时,它无法通过 match 克隆部分。因此,无法获取证书、配置文件等。

P.S: iOS_Certificates 回购不同于项目回购。

我在 1 小时后收到超时错误。我认为这是关于

的身份验证
pool:
  vmImage: 'macos-latest'

steps:
- script: |
    fastlane match development --clone_branch_directly --verbose
    fastlane beta
  displayName: 'Build iOS'

MatchFile中的相关代码:

git_url("git@ssh.dev.azure.com:v3/myteam/myproject/certificates_repo")
storage_mode("git")
type("development")

编辑: 我正在尝试在 Azure DevOps 中的 相同项目 中获取一个回购协议(不是 GitHub 或某处别的)。我收到超时错误,所以即使我 运行 --verbose 匹配命令也没有具体错误。

根据您的信息,您正在使用 SSH 密钥作为身份验证方法。

由于您使用 macos-latest(microsoft-hosted 代理) 作为构建代理,目标构建机器上将不存在 ssh 密钥的私钥。

所以它无法验证并卡住。如您所说,它将 运行 60 分钟并取消。我也可以重现这个问题。

您可以尝试在其上创建 a self-hosted agent 和 运行 构建。

在这种情况下,您需要确保机器上存在私钥,然后才能通过ssh密钥进行身份验证。

另一方面,您可以使用用户名和密码进行身份验证。

例如(匹配文件):

git_url "https://organizationname@dev.azure.com/organizationname/projectname/_git/reponame" 
type "development" 
app_identifier 'xxx'
username "member@companyname.com" #This will be the git username
ENV["FASTLANE_PASSWORD"] = "abcdefgh" #Password to access git repo.
ENV["MATCH_PASSWORD"] = "password" #Password for the .p12 files saved in git repo.