我正在尝试使用Fastlane将iOS管道实现到Azure DevOps。我已经在我的项目中使用了Fastlane,并成功部署了beta和试点版本。我的问题是,当我在Azure管道上运行下面的脚本时,它无法传递match
克隆部分。因此,无法获取证书,配置文件等。
备注:iOS_Certificates repo与project repo不同。
我得到超时错误后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或其他地方)内的同一个项目中获取一个仓库。我得到超时错误,所以即使在match命令上运行--verbose
也没有具体的错误。
2条答案
按热度按时间ojsjcaue1#
根据您的信息,您正在使用SSH密钥作为身份验证方法。
由于您使用
macos-latest
(Microsoft托管代理)作为生成代理,因此目标生成计算机上将不存在ssh密钥的私钥。所以它不能认证,卡住了。就像你说的,它会运行60分钟,然后取消。我也可以重现这个问题。
您可以尝试创建自托管代理并在其上运行生成。
在这种情况下,您需要确保私钥存在于机器上,然后您可以通过ssh密钥进行身份验证。
另一方面,您可以使用用户名和密码进行身份验证。
例如(匹配文件):
wnvonmuf2#
您可以通过
resources
块设置对第二个存储库的访问:https://learn.microsoft.com/en-us/azure/devops/pipelines/repos/multi-repo-checkout?view=azure-devops#repository-resource-definition然后使用
System.AccessToken
作为repo的访问令牌,通过HTTPS访问它:https://[AZURE_TOKEN]@dev.azure.com/[org]/[project]/_git/[repo]