本文将演示如何在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:构建摘要
您可以按照以下步骤查看构建的摘要,即构建过程中发生的所有事情:
生成摘要:最近完成
代码覆盖率(Code coverage)
所有工作项和任务(All work items and tasks)
部署(Deployments)
步骤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模板网!