使用Visual Studio构建完整的CI/CD流水线

本文将演示如何在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流水线变得简单。这些工具还允许您改进代码质量和安全性。

  1. 转到“工具”菜单,并选择“扩展和更新”。

  2. 在弹出的窗口中,选择“Continuous Delivery Tools for Visual Studio”,然后点击“启用”。

*如果您尚未安装Continuous Delivery Tools,请前往在线的Visual Studio Marketplace,搜索“Continuous”,然后下载安装。

启用Visual Studio的Continuous Delivery扩展

启用Visual Studio的Continuous Delivery扩展

步骤2:在Team Services中创建项目

在这一步中,您将在Team Services中创建一个项目,并将您的项目代码放在那里,而无需离开您的IDE。Team Services是一个工具,可以帮助您构建持续集成和持续交付。

  1. 进入解决方案资源管理器,在基于Web的项目上右键单击。

  2. 单击新的上下文菜单“配置持续交付”。

  3. 会显示一个名为“配置持续交付”的新窗口。点击“添加此项目到源代码控制”的加号按钮。

  4. 在Team Explorer中的“发布到Visual Studio Team Services”部分,点击“发布Git仓库”按钮。

  5. 您的Microsoft账户会自动从IDE中获取。同时显示使用的Team Services域名和存储库名称。点击“发布存储库”按钮以在Team Services中创建一个项目。

  6. 同步完成后,您将看到您的项目已在Team Explorer中创建。

    项目是在团队资源管理器中创建的

    现在,您的项目已经创建到Team Services账户中(源代码已上传,有一个Git仓库,并且正在自动生成连续交付流水线)。

  7. 在输出窗口中,您可以看到已为您的项目设置了CI/CD。

  8. 过一段时间后,您将获得三个不同的链接:

    (1).构建链接

    (2).发布链接

    (3).指向Azure中创建的资产的链接,该资产将成为您部署的目标(应用程序服务)。

链接到在Azure中创建的资产

步骤3:在Team Services中打开项目

构建定义是您定义自动化构建过程的实体。在构建定义中,您组合一组任务,每个任务执行构建的一个步骤。

  1. 在输出窗口中选择提供的构建定义链接并复制。

  2. 将其粘贴到浏览器中,以打开包含您的应用程序的项目在Team Services中。

  3. 显示构建定义的摘要。您可以看到构建已经在运行。

  4. 点击构建链接。

  5. 它显示为正在自动运行您的构建的构建服务器的输出。

  6. 点击“编辑构建定义”。

  7. 添加一个额外的任务。

  8. 自定义已有的任务。

自定义任务

步骤4:测试程序集任务

每个任务都有一个版本选择器,可以让您指定在构建或部署中使用的任务的主要版本。当发布新的次要版本(例如,从1.2到1.3)时,您的构建或发布将自动使用新版本。但是,如果发布了新的主要版本(例如,2.0),您的构建或发布将继续使用您指定的主要版本,直到您编辑定义并手动切换到新的主要版本为止。

  1. 点击“Test Assemblies”。

  2. 您会看到一个小旗标图标,表示该任务的新预览版本可用。点击旗标图标,并选择版本2*以进行预览。

  3. “Test Assemblies”中显示了几个新项目。其中一个是“只运行受影响的测试”。这是一个项目,允许工具分析哪些代码行与过去运行的测试发生了变化,并且您将知道哪些测试执行了哪些代码行(您不需要运行所有测试:您只需运行受到更改影响的测试)。

  4. “在多核机器上并行运行测试”是一个项目,允许您的测试以一种能够利用您可用的所有核心的方式运行。使用此项目,您将有效地增加同时运行的测试数量,从而减少运行所有测试所需的时间。

在多核计算机上并行运行测试-1

在多核计算机上并行运行测试-1

在多核计算机上并行运行测试-2

在多核计算机上并行运行测试-2

步骤5:添加一个额外的任务

任务是定义构建定义中自动化的基本单元,或者在发布定义的环境中。任务只是一个带有一组输入的打包脚本或过程的抽象。有一些内置的任务可以实现基本的构建和部署场景。

  1. 点击“添加任务”的加号按钮,以创建一个新的额外任务。

  2. 会显示一个庞大的任务列表,可以直接运行,从而使您能够针对任何语言/平台(支持Chef、CocoaPods、Docker、Node.js、Java)进行目标设置。

  3. 如果您想安装未列出的其他功能或扩展,请简单点击上述任务列表的上方显示的“检查我们的市场”链接。

添加附加任务

步骤6:设置加密和非加密变量

变量是在构建定义中存储和共享关键数据的好方法。一些构建模板会自动为您定义一些变量。

  1. 点击名称为“变量”的第二个选项卡(位于“任务”选项卡旁边)。

  2. 点击位于变量值旁边的小锁图标,以对其进行加密。

  3. 加密后,变量的值将显示为星号,并且除了加密它的人之外,没有人可以看到这个值。

加密的变量

加密的变量

步骤7:开启持续集成(CI)触发器

在“触发器”选项卡中,您可以指定触发构建的事件。您可以将相同的构建定义用于CI和计划的构建。

  1. 点击第三个选项卡名称为“触发器”,在那里您可以设置您的持续集成。

  2. 启用“禁用此触发器”的复选框意味着每当有人检入代码时,或者换句话说,源代码的新版本可用时,此构建都会自动运行

禁用触发器

禁用触发器

步骤8:构建定义选项

如果构建过程失败,您可以自动创建一个工作项来跟踪问题的修复。您可以指定工作项类型。您还可以选择是否将工作项分配给请求者。例如,如果这是一个CI构建,并且团队成员检入了一些破坏了构建的代码,则将工作项分配给该人员。

  1. 点击第四个选项卡名称为“选项”。

  2. 启用“发生故障时创建工作项”的复选框。CI构建应该在每次检入时进行构建,如果由于开发人员的错误导致某些构建失败,您可以自动创建一个工作项以便跟踪问题的修复。

  3. “默认代理队列”选项显示在选项的后半部分。下拉列表中列出了所有可用的池:

    (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。

发布定义

发布定义

  1. 一个显示将代码部署到Azure的发布定义被展示出来。

  2. 点击发布定义旁边的三个点。

  3. 从显示的上下文菜单中,选择“编辑”。

编辑屏幕

  • 一系列环境

  • 在每个环境中执行的任务

要在每个环境中执行的任务

步骤11:检查应用程序是否真的从Visual Studio部署到Azure

Microsoft Azure是一个云计算服务,通过全球范围的由Microsoft管理的数据中心,用于构建、测试、部署和管理应用程序和服务。在这一步中,您将验证您的Web应用程序是否已部署在Azure中,按照以下步骤操作:

  1. 进入Azure门户。

  2. 点击“资源组”。

  3. 在搜索框中搜索“demo”。

  4. 在搜索结果中点击您的Web项目“e2edemo”。

  5. 打开Web应用程序链接。

打开web应用程序链接

浏览选项

ASP.NET屏幕

进一步阅读:使用Azure DevOps构建发布流程。

结论

持续集成是一种软件开发实践,每当开发人员推送代码到应用程序时,都会进行构建和测试。持续交付是一种软件工程方法,其中持续集成、自动化测试和自动化部署能力使得软件能够以快速、可靠和重复的方式进行开发和部署,尽量减少人为干预。

高效团队通常会实践持续集成(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

如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用
从算法到人工智能:生成智能时代编程的演变
上一篇 2024年02月07日 22:39
使用Azure DevOps构建发布流水线
下一篇 2024年02月07日 23:45

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包