代码存储库故障排除
"连接到存储库" 步骤中未列出存储库
- 仅支持 Git 存储库。 诸如 Mercurial、TFVC 等其他存储库类型将不会显示在 "存储库" 列表中。
- 必须由所有者来连接到用户拥有的存储库。 如果你不是所有者,则仍可在 App Center 中邀请存储库所有者邀请存储库所有者来加入应用。 然后,所有者可以将存储库作为源连接到 App Center 生成服务。
- 若要连接到 GitHub 上的组织或 Bitbucket 上的团队,需要对存储库具有管理员访问权限。 此访问是必需的,因为 App Center 将在来自 appcenter.ms 域的存储库上注册 webhook。
- 对于 GitHub 存储库,具有所有者权限的组织成员可能需要批准初始访问请求。 请参阅 GitHub 有关 为你的组织批准第三方应用程序的说明。 可能需要几分钟时间,直到该组织中的存储库显示在 App Center 中。
在配置分支时,我会收到一条错误消息,指出我的分支中出现 "找不到项目"
提示
生成服务对存储库进行爬网的时间限制为30秒。 在此时间限制内,大型或复杂的项目可能不会编制索引。 在这种情况下,如果不能单独承载目标项目,则可以考虑改用 Azure Pipelines 。
App Center 分析存储库中分支的内容,查找与 App Center 中为应用选择的平台匹配的应用项目。 这假定项目使用特定于平台的标准进行配置,即适用于 iOS 应用的 Xcode 项目或工作区、适用于 Android 应用的 Gradle 项目以及适用于 Xamarin 应用的解决方案或项目。
App Center搜索项目文件的四个目录级别。 如果App Center在分支中找不到项目,则移动到根目录可能会有所帮助。 如果存储库很大,则减小其大小或文件数可能会有所帮助。
能否使用本地存储库?
App Center目前支持云托管的 Git 存储库Azure DevOps (以前称为 Visual Studio Team Services (VSTS) ) 、Bitbucket 和 GitHub,但不支持本地存储库。
存储库连接在...
存储库名称更改
这会中断连接。 若要解决此问题,请还原为原始名称,或创建具有原始名称的新存储库。
帐户所有权更改
如果最初连接存储库的用户由于从 App Center 或存储库所有权中删除而撤消了其访问该存储库的权限,则重新连接存储库通常需要删除旧连接并再次创建它。
警告
断开存储库连接将删除存储在生成App Center和项目。 可以在 断开连接之前手动备份 数据以保留数据。
我连接到了错误的帐户。 如何重新连接到正确的连接?
断开存储库帐户连接,然后重新连接到正确的帐户:
在连接 Azure DevOps存储库时,看到"找不到项目"
首次尝试连接到之前 VSTS App Center Azure DevOps (VSTS) 在错误的组织下获得授权。 确定 Azure DevOps组织的帐户, 并确保你的帐户已列出。 当你尝试完成 Azure DevOps 中的身份验证流时,请验证消息 "读取" 应用是否从 email@example.com (org) 请求以下权限。
另一种可能性是在安全策略设置下禁用 OAuth。 按照 本指南 进行启用。
是否支持 Git 子模块?
对于托管在 GitHub 和 Azure DevOps 上的存储库,支持使用与父存储库相同的身份验证来支持通过 HTTPS 的 Git 子模块。 对于托管在 Bitbucket 上的存储库,现在仅支持未经身份验证的 Git 子模块。
我连接到 Bitbucket,但生成失败,并出现 Git 错误
如果生成失败并出现类似于的错误
"fatal: reference is not a tree:..
##[error]Git checkout failed with exit code: 128",
请尝试执行以下步骤:
- 中转到连接的 Bitbucket 帐户的 webhook 部分,并从 appcenter.ms & mobile.azure.com 查找任何禁用的 webhook
- 重新启用 Webhook
- 提交受影响的存储库/分支的更改,并尝试新的生成
如果问题仍然存在,请联系 App Center 支持人员 。
如果使用 Team Foundation 版本控制 (TFVC) ,我该怎么办?
App Center 生成仅支持 Git 存储库。 对于使用 TFVC 存储库的项目,可以 将其转换为 Git,也可以使用 Visual Studio Team Services 进行持续集成,并利用 托管的 macOS 预览版 代理和生成任务来进行 App Center 分发和测试。
我的源代码是安全的吗?
App Center 使用虚拟机构建你的代码。 专门为你的生成预配了干净的虚拟机,这会在生成完成后丢弃。 为代码签名上传的文件和证书的密码也会安全地存储在我们的服务器上。
有关详细信息,请阅读我们的安全App Center 文档。