带 Xamarin 的 DevOps

借助 Xamarin,你可以使用 C#、.NET 和 Visual Studio 生成面向 Android、iOS 和 Windows 的跨平台移动应用。 Xamarin 允许在平台间共享大部分代码,只有一小部分需要特定于平台。

开发适用于现代平台的应用涉及许多活动,并不仅仅只是编写代码。 这些活动被称为 DevOps(开发 + 操作),它们跨越应用的整个生命周期,包括计划和跟踪工作、设计和实现代码、管理源代码存储库、运行生成、管理持续集成和部署、测试(包括单元测试和 UI 测试)、在开发和生产环境中运行各种形式的诊断,以及通过遥测和分析实时监控应用的性能和用户行为。

Visual Studio、Azure DevOps Services 和 Team Foundation Server 提供了各种 DevOps 功能。 其中许多功能都完全适用于跨平台的项目。 对 Xamarin 应用尤其如此,因为它们利用 C# 和 .NET 生成,一些 DevOps 工具就基于此而构建。 其他工具则需要与生成和运行时环境紧密集成。 由于 Xamarin 应用在非 Windows 平台上运行,并使用 .NET 的 Mono 实现,Xamari 为某些需求提供了专用工具。

下表标识了哪些 Visual Studio DevOps 功能预期能与 Xamarin 项目很好地配合使用、哪些功能具有局限性。 请参阅链接文档,获取功能自身的详细信息。

敏捷工具

参考链接:有关敏捷工具和敏捷项目管理

常规注释:所有的计划和跟踪功能均独立于项目类型和编码语言。

功能 通过 Xamarin 提供支持 其他注释
管理积压工作和冲刺 (sprint)
跟踪工作
团队聊天室协作
看板
报告和可视化进度

建模

参考链接: 对体系结构进行分析和建模

设计功能独立于编程语言,或与 C# 之类的.NET 语言配合使用。 有关与代码相关的方面,请参阅体系结构关系图和建模图在软件开发中的角色

功能 通过 Xamarin 提供支持 其他注释
序列图
依赖项关系图
调用层次结构
类设计器
体系结构资源管理器
UML 关系图(用例、活动、类、组件、序列和 DSL)
层关系图
层验证

代码

功能 通过 Xamarin 提供支持 其他注释
使用 Team Foundation 版本控制 (TFVC) 或 Azure Repos
Azure Repos 中的 Git 入门
提高代码质量
查找代码更改和其他历史记录 排除跨特定于平台的边界,在这些地方直到运行时才会对实现进行解析。
使用代码图调试应用程序

生成

参考链接: Azure Pipelines

功能 通过 Xamarin 提供支持 其他注释
本地 TFS 服务器 生成计算机必须安装 Xamarin,并且能够链接到 OSX 计算机以生成适用于 iOS 的应用。 请参阅使用 TFVC
链接到 Azure Pipelines 的本地生成服务器 请参阅生成和发布代理了解相关介绍。
Azure Pipelines 的托管控制器服务 请参阅 Build your Xamarin app(生成 Xamarin 应用)。
生成带有前脚本和后脚本的定义
包括封闭签入的持续集成 仅在 Git 用于拉取请求(而非签入)时,封闭签入才适用于 TFVC。

测试

功能 通过 Xamarin 提供支持 其他注释
规划测试、创建测试用例和组织测试套件
手动测试
测试管理器(记录和播放测试) 仅限 Visual Studio 中的 Windows 设备和 Android 仿真器。
代码覆盖率 不适用
单元测试代码 对于 Windows 和 Android 目标,可以使用内置的 MSTest 工具。 若要在 Windows、Android 和 iOS 上运行单元测试,Xamarin 建议使用 NUnit。 请参阅使用 TFVC
使用 UI 自动化来测试代码 仅限 Windows Visual Studio 的 UI 测试记录器仅用于 Windows。 对于所有平台,请参阅 Xamarin.UITest

提高代码质量

参考链接:提高代码质量

功能 通过 Xamarin 提供支持 其他注释
分析托管代码的质量
使用代码克隆检测功能查找重复代码
测量托管代码的复杂性和可维护性
性能资源管理器 改为通过 Visual Studio for Mac 使用 Xamarin Profiler。 请注意 Xamarin 探查器当前处于预览状态,并且尚不适用于 Windows 目标。
分析 .NET Framework 内存问题 Visual Studio 工具没有深入 Mono 框架进行探查的挂钩。

发布管理

参考链接:Azure Pipelines 和 TFS 中的生成和发布

功能 通过 Xamarin 提供支持 其他注释
管理发布进程
通过脚本部署到旁加载的服务器
上载到应用商店 部分 提供了一些扩展,这些扩展可使某些应用商店的此进程自动化。 请参阅 Azure DevOps Services 扩展;例如,Google Play 扩展

使用 App Center SDK 进行监视

参考链接:使用 App Center SDK 进行监视

功能 通过 Xamarin 提供支持 其他注释
故障分析、遥测和 beta 版本分发