xcode - Bitrise & SPM - 如何使用 Bitrise 构建私有 SPM 依赖项?
问题描述
我们有
- xcode 项目几乎没有 swift-package-manager 依赖项,但其中一个依赖项托管在 Gitlab 私人仓库上
- fastlane 用于构建和交付我们的应用程序
- bitrise 作为 CI 服务
在本地机器上一切正常 - Xcode 只要求填写 Gitlab 的身份验证信息(登录/访问令牌),然后依赖关系图解析,我们可以构建我们的项目。
但是 Bitrise 在健身房舞台上失败了,错误如下 =(
xcodebuild:错误:无法解析包依赖项:身份验证失败,因为没有提供凭据。
如何为 Bitrise 验证 Gitlab 帐户以处理健身房阶段?
解决方案
在过去的一天中,我尝试了以下方法:
- 尝试将 Package.swift 中的依赖声明更改为 git@gitlab.com:CompanyName/PackageName.git 之类的 ssh 样式(我认为 xcodebuild 可以建立 ssh 连接以获取私有依赖项)
- 通过 ssh -T git@gitlab.com 检查 gitlab ssh 连接(连接正常)
- 尝试按照 Apple在此处的建议添加 ~/.ssh/known_hosts 已知的 gitlab 主机
- 通过 ssh 连接到运行 Bitrise 构建以在运行时手动设置 ssh 设置
- 以不同的顺序对这些方法进行洗牌
没有任何帮助。直到我尝试关注一个
- 使用 netrc 验证主机
工作流编辑器中有一个特殊的构建步骤,您可以在其中设置 gitlab 访问数据。在 SPM 解决阶段火灾和有关丢失凭据的烦人错误之前设置此步骤。
推荐阅读
- exception - Grails4 - 在上传文件时捕获文件 maxFileSize 限制
- accessibility - 可访问性:带有 ajax 的模态表单
- mongodb - 在 mongodb 中插入行时出错?
- css - “before”和“after”伪元素在活动状态下被包装器 div 重叠
- python - 如何识别仅偶尔出现在 Selenium 中的文本
- react-navigation - 为什么 createMaterialTobTapNavigator 的选项卡屏幕不呈现?
- scala - 为每个数据框行创建一个 CSV 文件
- android - Android - 从搜索设备应用程序中单击应用程序后,已打开的应用程序重新打开
- ios - 我现有的 TableViewController 在 Xcode 11 beta1 上崩溃
- python - NoReverseMatch at / Reverse for 'single_product' 未找到任何参数。尝试了 1 种模式:['products/(?P
)/$']