共计 4533 个字符,预计需要花费 12 分钟才能阅读完成。
本文将演示如何在 Visual Studio 中构建完整的 CI/CD 流水线,并使用 Visual Studio 的新 Continuous Delivery 扩展部署到 Azure。
通过使用持续集成(CI)和持续交付(CD)的自动化实践,您可以实现应用程序的快速、可靠和重复性的开发和部署,同时最大程度地减少人为干预。Visual Studio 作为一个功能强大的集成开发环境(IDE),提供了丰富的协作工具和扩展,使得构建、测试和部署 CI/CD 流水线变得更加简单。这篇文章将向读者介绍在 Visual Studio 中创建 CI/CD 流水线的步骤以及如何使用 Visual Studio 的 Continuous Delivery 扩展改进软件质量和安全性。最后,通过 CI/CD 的自动化系统,您可以确保软件质量、提高生产效率,并为客户提供满意的产品体验。
使用 CI 允许您合并代码更改,以确保这些更改与现有代码库一起正常工作,并进行测试。另一方面,使用 CD,您会反复将代码推送到部署流水线中,在此流水线中构建、测试和部署代码。CI/CD 团队实践自动化了应用程序的构建、测试和部署,并提供完全可追溯性,以查看代码更改、审查和测试结果。
什么是 Visual Studio?
Visual Studio 是一个功能强大的集成开发环境(IDE)。这个功能丰富的 IDE 具有用于编码、调试和构建应用程序的强大环境。Azure DevOps(先前称为 VS Team Services)拥有一套全面的协作工具和扩展,紧密集成了 Visual Studio 环境的 CI/CD 流水线。CI(持续集成)更新任何代码更改到现有代码库,而 CD(持续部署)则将其通过部署流水线进一步构建、测试和部署。带有 CI/CD 扩展的 Visual Studio 因此自动化了软件开发的构建、部署和测试过程。不仅如此,它还允许完全的可追溯性,以查看代码更改、审查和测试结果。
软件质量在很大程度上取决于开发过程。CI/CD 实践的自动化系统专注于通过持续交付和部署来实现这一目标。因此,这不仅确保了软件质量,还提高了生产的安全性和盈利能力。这也缩短了生产时间以包含新功能,为开发工作减少了压力,创造了满意的客户。
要创建一个 CI 构建、发布流水线和将代码部署到 Azure 中,您只需要一个现有的基于 Web 的应用程序和一个来自市场的扩展。DZone 之前已经介绍了如何从头开始构建 CI/CD 流水线的方法。
如何使用 Visual Studio 构建 CI/CD 流水线
步骤 1:启用 Visual Studio 的 Continuous Delivery 扩展
为了使用 Visual Studio 的 Continuous Delivery Tools 扩展,您只需要启用它。Continuous Delivery Tools for Visual Studio 扩展使得自动化和及时了解针对 Azure 的其他项目的 DevOps 流水线变得简单。这些工具还允许您改进代码质量和安全性。
转到“工具”菜单,并选择“扩展和更新”。
在弹出的窗口中,选择“Continuous Delivery Tools for Visual Studio”,然后点击“启用”。
* 如果您尚未安装 Continuous Delivery Tools,请前往在线的 Visual Studio Marketplace,搜索“Continuous”,然后下载安装。
启用 Visual Studio 的 Continuous Delivery 扩展
步骤 2:在 Team Services 中创建项目
在这一步中,您将在 Team Services 中创建一个项目,并将您的项目代码放在那里,而无需离开您的 IDE。Team Services 是一个工具,可以帮助您构建持续集成和持续交付。
进入解决方案资源管理器,在基于 Web 的项目上右键单击。
单击新的上下文菜单“配置持续交付”。
会显示一个名为“配置持续交付”的新窗口。点击“添加此项目到源代码控制”的加号按钮。
在 Team Explorer 中的“发布到 Visual Studio Team Services”部分,点击“发布 Git 仓库”按钮。
您的 Microsoft 账户会自动从 IDE 中获取。同时显示使用的 Team Services 域名和存储库名称。点击“发布存储库”按钮以在 Team Services 中创建一个项目。
同步完成后,您将看到您的项目已在 Team Explorer 中创建。
现在,您的项目已经创建到 Team Services 账户中(源代码已上传,有一个 Git 仓库,并且正在自动生成连续交付流水线)。
在输出窗口中,您可以看到已为您的项目设置了 CI/CD。
过一段时间后,您将获得三个不同的链接:
(1). 构建链接
(2). 发布链接
(3). 指向 Azure 中创建的资产的链接,该资产将成为您部署的目标(应用程序服务)。
步骤 3:在 Team Services 中打开项目
构建定义是您定义自动化构建过程的实体。在构建定义中,您组合一组任务,每个任务执行构建的一个步骤。
在输出窗口中选择提供的构建定义链接并复制。
将其粘贴到浏览器中,以打开包含您的应用程序的项目在 Team Services 中。
显示构建定义的摘要。您可以看到构建已经在运行。
点击构建链接。
它显示为正在自动运行您的构建的构建服务器的输出。
点击“编辑构建定义”。
添加一个额外的任务。
自定义已有的任务。
步骤 4:测试程序集任务
每个任务都有一个版本选择器,可以让您指定在构建或部署中使用的任务的主要版本。当发布新的次要版本(例如,从 1.2 到 1.3)时,您的构建或发布将自动使用新版本。但是,如果发布了新的主要版本(例如,2.0),您的构建或发布将继续使用您指定的主要版本,直到您编辑定义并手动切换到新的主要版本为止。
点击“Test Assemblies”。
您会看到一个小旗标图标,表示该任务的新预览版本可用。点击旗标图标,并选择版本 2 * 以进行预览。
“Test Assemblies”中显示了几个新项目。其中一个是“只运行受影响的测试”。这是一个项目,允许工具分析哪些代码行与过去运行的测试发生了变化,并且您将知道哪些测试执行了哪些代码行(您不需要运行所有测试:您只需运行受到更改影响的测试)。
“在多核机器上并行运行测试”是一个项目,允许您的测试以一种能够利用您可用的所有核心的方式运行。使用此项目,您将有效地增加同时运行的测试数量,从而减少运行所有测试所需的时间。
在多核计算机上并行运行测试 -1
在多核计算机上并行运行测试 -2
步骤 5:添加一个额外的任务
任务是定义构建定义中自动化的基本单元,或者在发布定义的环境中。任务只是一个带有一组输入的打包脚本或过程的抽象。有一些内置的任务可以实现基本的构建和部署场景。
点击“添加任务”的加号按钮,以创建一个新的额外任务。
会显示一个庞大的任务列表,可以直接运行,从而使您能够针对任何语言 / 平台(支持 Chef、CocoaPods、Docker、Node.js、Java)进行目标设置。
如果您想安装未列出的其他功能或扩展,请简单点击上述任务列表的上方显示的“检查我们的市场”链接。
步骤 6:设置加密和非加密变量
变量是在构建定义中存储和共享关键数据的好方法。一些构建模板会自动为您定义一些变量。
点击名称为“变量”的第二个选项卡(位于“任务”选项卡旁边)。
点击位于变量值旁边的小锁图标,以对其进行加密。
加密后,变量的值将显示为星号,并且除了加密它的人之外,没有人可以看到这个值。
加密的变量
步骤 7:开启持续集成(CI)触发器
在“触发器”选项卡中,您可以指定触发构建的事件。您可以将相同的构建定义用于 CI 和计划的构建。
点击第三个选项卡名称为“触发器”,在那里您可以设置您的持续集成。
启用“禁用此触发器”的复选框意味着每当有人检入代码时,或者换句话说,源代码的新版本可用时,此构建都会自动运行
禁用触发器
步骤 8:构建定义选项
如果构建过程失败,您可以自动创建一个工作项来跟踪问题的修复。您可以指定工作项类型。您还可以选择是否将工作项分配给请求者。例如,如果这是一个 CI 构建,并且团队成员检入了一些破坏了构建的代码,则将工作项分配给该人员。
点击第四个选项卡名称为“选项”。
启用“发生故障时创建工作项”的复选框。CI 构建应该在每次检入时进行构建,如果由于开发人员的错误导致某些构建失败,您可以自动创建一个工作项以便跟踪问题的修复。
“默认代理队列”选项显示在选项的后半部分。下拉列表中列出了所有可用的池:
(1)、默认(如果您的团队使用您自己设置的私有代理)
(2)、托管(基于 Windows 的机器,如果您的团队使用 VS2017 或 VS2015)
(3)、托管 Linux 预览版(如果您的团队在 Ubuntu 上使用开发工具)
(4)、托管 VS2017(如果您的团队使用 Visual Studio 2017)
默认代理队列选项
步骤 9:构建摘要
您可以按照以下步骤查看构建的摘要,即构建过程中发生的所有事情:
生成摘要:最近完成
步骤 10:发布定义
发布定义是 VSTS 和 TFS 中发布管理的基本概念之一。它定义了将应用程序部署到各种环境的端到端发布过程。请记住,作为开发人员,您无需离开 VS 即可将应用程序从 VS 部署到 Azure。
发布定义
一个显示将代码部署到 Azure 的发布定义被展示出来。
点击发布定义旁边的三个点。
从显示的上下文菜单中,选择“编辑”。
步骤 11:检查应用程序是否真的从 Visual Studio 部署到 Azure
Microsoft Azure 是一个云计算服务,通过全球范围的由 Microsoft 管理的数据中心,用于构建、测试、部署和管理应用程序和服务。在这一步中,您将验证您的 Web 应用程序是否已部署在 Azure 中,按照以下步骤操作:
进入 Azure 门户。
点击“资源组”。
在搜索框中搜索“demo”。
在搜索结果中点击您的 Web 项目“e2edemo”。
打开 Web 应用程序链接。
进一步阅读: 使用 Azure DevOps 构建发布流程。
结论
持续集成是一种软件开发实践,每当开发人员推送代码到应用程序时,都会进行构建和测试。持续交付是一种软件工程方法,其中持续集成、自动化测试和自动化部署能力使得软件能够以快速、可靠和重复的方式进行开发和部署,尽量减少人为干预。 文章来源:https://www.toymoban.com/diary/visualstudio/712.html
高效团队通常会实践持续集成(CI)和持续交付(CD)。VSTS 不仅自动化了应用程序的构建、测试和部署,还提供完整的溯源能力,可以查看构建中的所有内容,包括代码更改、审查和测试结果,作为一个完全支持 DevOps 实践的工具。 文章来源地址 https://www.toymoban.com/diary/visualstudio/712.html
到此这篇关于使用 Visual Studio 构建完整的 CI/CD 流水线的文章就介绍到这了, 更多相关内容可以在右上角搜索或继续浏览下面的相关文章,希望大家以后多多支持 TOY 模板网!
原文地址:https://www.toymoban.com/diary/visualstudio/712.html
如若转载,请注明出处:如若内容造成侵权 / 违法违规 / 事实不符,请联系站长进行投诉反馈,一经查实,立即删除!