源代码管理流程
开发人员依赖源代码管理来跟踪代码更改并发现由各种开发人员创建的内容之间的差异。 财务和运营使用 Azure DevOps 进行源代码管理,可使用团队资源管理器通过 Web 服务器或 Visual Studio 访问它。
Azure DevOps,以前称为 Visual Studio Team Services
Azure DevOps 是基于云的产品/服务,它还由 99.9% 的服务级别协议 (SLA) 提供支持。 虽然云和本地之间的核心服务相同,但云还可以立即访问新功能、改进与远程位置的连接以及简化服务器管理。
Azure DevOps
当针对财务和运营应用开发时,Azure DevOps 将用作源代码管理服务。 如果您要从以前版本的 Dynamics AX 升级,可能知道用于源代码管理的 Team Foundation 服务,该服务已替换为 Azure DevOps。 作为开发人员,您需要确保在开始开发之前设置和配置 Azure DevOps。
要通过 Azure DevOps 启用源代码管理,您需要转到 https://visualstudio.microsoft.com/ 并注册 Azure DevOps 以创建您的帐户。 创建帐户时,请为其选择一个 URL。 这将是您在配置源代码管理时从开发计算机连接到的 URL。 创建您的帐户后,或者如果您已有帐户,请创建新的项目。
要配置 Visual Studio 环境以连接到您的团队项目,请按照以下步骤操作:
- 以管理员身份打开 Visual Studio。
- 如果解决方案资源管理器尚未显示,请通过选择文件 > 解决方案资源管理器打开它。
- 选择窗口底部的团队资源管理器选项卡。
- 管理管理连接。
- 选择连接到团队项目。
- 选择服务器…。
- 在添加/删除 Team Foundation Server 窗口中,选择添加。
- 在 Team Foundation Server 字段的名称或 URL 中粘贴 Azure DevOps 项目的 URL。
注意
它可能看起来像本示例:https://projectname.visualstudio.com
- 选择确定。
- 选择关闭。
- 在连接到 Team Foundation Server 窗口上,使用下拉列表选择您刚添加的项目。
- 选择连接。
连接到 Team Foundation Server 后,您需要将 Azure DevOps 项目映射到本地模型库和项目文件夹。
- 从团队资源管理器中打开源代码管理器。
- 在源代码管理器中,在管理器的顶部功能区中选择工作区下拉列表。
- 选择工作区..,您会看到一个工作区列表。
- 为显示的第一个工作区选择编辑。
- 将团队项目的 Metadata 文件夹映射到本地驱动器上的模型库的根文件夹(通常是 K:/AosService/PackagesLocalDirectory)。
- 选择映射。
- 在下一个对话框上,选择否。
- 对 Projects 文件夹重复这些步骤。通常会将 Projects 文件夹映射到 C:\Users[管理员帐户名称]\Documents\Visual Studio [VS Year]\Projects,其中 Projects 是您创建的文件夹。
创建新的 Visual Studio 项目时,可以将项目添加到源代码管理。 源代码管理对 Visual Studio 中的元素启用版本控制。 当开发人员对代码进行更改时,版本控制将强制您签出代码。
完成更改后,必须签入您的更改。 每次签入都会创建该元素的新版本。 本流程允许其他开发人员查看谁进行了更改、对元素进行了哪些更改以及何时进行了更改。 如果在当前版本中发现错误,它还允许您将代码还原到以前版本。 签入代码后,其他开发人员还可以执行获取最新内容以合并该代码的所有最新可用版本。
当执行获取最新内容时,您可能会遇到一些更改冲突,其中新版本的代码与当前在代码库中生成的代码冲突。 您可以在解决冲突页面上查看和解决 Visual Studio 中的冲突。
解决冲突页面上有三个窗格可用:
- 左侧窗格 - 显示您的当前代码
- 右侧窗格 - 显示新代码
- 底部窗格 - 显示自动合并代码的外观
您可以选择接受自动合并或单独接受合并或覆盖的代码。
分支和合并
财务和运营使用分支来隔离单个软件资产,这使您能够与其他开发人员并行工作,以提高工作效率。 分支需要执行更多工作来合并代码。 对于如何设置分支,不存在定义好的规则,但通常可以分为开发、测试和生产或发布分支。 开发分支用于未准备好进行测试的代码;但是,该代码在开发人员之间共享。 一些较大的团队可能使用多个开发人员分支。 测试分支用于保留可供其他用户测试的更改。 生产分支保留所有源代码,就像它在生产环境中部署的一样。
必须创建可部署包,才能将代码更改从一个环境移动到另一个环境。 我们建议您使用生成环境创建包含所有更改的可部署包。 您可以从开发环境中创建可部署包。
要创建可部署包,请执行以下步骤:
- 选择 Dynamics 365 > 部署 > 创建部署包。
- 选择包含您的模型的包。
- 输入位置以创建可部署包。
- 创建可部署包后,登录到 Lifecycle Services。
- 转到您的 Lifecycle Services 项目。
- 选择资产库。
- 上传您创建的可部署包。
要将包部署到非生产性环境或生产环境,请使用 Lifecycle Services。 在这两个环境之间部署包的流程有所不同。 此外,对生产环境的部署要求包成功部署到同一项目中的至少一个沙盒环境。
要将包部署到非生产性环境,请按照以下步骤操作:
- 打开所需环境的环境详细信息视图。
- 选择维护 > 应用更新。
- 使用筛选器选择要应用的包。
- 选择应用。 环境详细信息视图右上角中的状态将从“已排队”更改为“进行中”。
- 应用包后,环境状态将更改为“已部署”,服务状态将更改为“已完成”。
要将包部署到生产环境,请按照以下步骤操作:
- 转到 Lifecycle Services 中的项目资产库。
- 在资产库页面上,选择软件可部署包选项卡,然后选择要移动到生产的包。
- 选择发布候选。 这指示本包已准备好进行生产部署。
- 选择要在生产环境中应用的包,然后选择计划以提交应用它的请求。
- 指定日期和时间以计划包应用。
- 选择提交,然后选择确定以确认。
- 包部署在计划的故障时间开始。
- 提供环境服务后,可以监视状态。 服务状态字段指示包应用的状态。 此外,进度指示器显示已运行的步骤数,超出可用的步骤总数。
- 成功完成部署后,服务状态字段设置为已完成。
注意
如果包应用未成功完成,Microsoft 将调查该问题。 服务状态字段指示包应用已失败。 环境将回滚到良好的状态。
在更新生产环境时,该环境将不可用。 您可以监视服务状态字段以监视包应用的状态。 部署完成后,服务状态将显示为已完成。 可部署包现已应用于生产环境。