代码存储库故障排除

重要

Visual Studio App Center 计划于 2025 年 3 月 31 日停用。 虽然可以继续使用 Visual Studio App Center,直到它完全停用,但你可以考虑迁移到几个建议的替代方法。

详细了解支持时间线和替代方法。

“连接到存储库”步骤中未列出存储库

  • 仅支持 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 目前支持 Azure DevOps (以前称为 Visual Studio Team Services (VSTS) ) 、Bitbucket 和 GitHub 上的云托管 Git 存储库,但不支持本地存储库。

存储库连接在...

存储库名称更改

这会中断连接。 若要解决此问题,还原原始名称或使用原始名称创建一个新的存储库。

帐户所有权更改

如果最初连接存储库的用户因从 App Center 或存储库所有权中删除而有权访问该存储库,则通常重新连接存储库需要删除旧连接并重新创建它。

警告

断开存储库的连接将删除 App Center Build 中存储的配置和项目。 可以在断开连接之前 手动备份数据 以保留数据。

我已连接到错误的帐户。 如何重新连接到正确的?

断开存储库帐户的连接,然后重新连接到正确的帐户:

连接 Azure DevOps 存储库时,我看到“找不到项目”

首次尝试将 App Center 连接到 Azure DevOps 时, (以前的 VSTS) ,它可能在错误的组织下获得授权。 确定 哪些 Azure DevOps 帐户适用于组织 ,并确保列出你的帐户。 尝试在 Azure DevOps 中完成身份验证流时,请验证消息是否显示 应用是否从 email@example.com (组织) 请求以下权限

另一种可能性是在“安全策略”设置下禁用 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 Build 仅支持 Git 存储库。 对于使用 TFVC 存储库的项目,可以 将它们转换为 Git,也可以使用 Azure DevOps 进行持续集成,并利用 托管的 macOS 代理和生成任务进行 App Center 分发和测试。

我的源代码是否安全?

App Center 使用虚拟机生成代码。 专门为生成预配了一个干净的虚拟机,生成完成后,该虚拟机会被丢弃。 上传用于代码签名的文件和证书的密码也安全地存储在我们的服务器上。

有关详细信息,请阅读 我们的 App Center Security 文档