如何在Azure DevOps中构建CICD管道

发布日期:2021-09-02 12:07   来源:未知   阅读:

  澳门论坛六肖资料12码!由Microsoft Azure提供的Azure DevOps是自动化CI/CD流程领域的领先工具。在自动化构建和代码项目中,开发人员可以使用Azure管道将持续集成(CI)和持续交付(CD)相结合,通过一致性的测试,将构建好的代码发送至目标环境。

  CI/CD管道往往被用于自动化的持续集成和持续部署过程中。其管道可以通过构建、测试、合并和部署等阶段,来促进软件的整个交付过程。简而言之,作为可运行的步骤规范,管道能够通过节省开发人员的手动工作量与时间,高效地交付出新的软件版本。

  1. 源阶段:在大多数情况下,开发人员在尝试对中央存储库进行更改时,会触发管道的运行。这些触发器往往是由源阶段中的CI/CD管道工具(所设置的。

  2. 构建阶段:在构建到最终用户应用的可运行实例中时,该阶段体现了源代码及其依赖项的组合。同时,Java等内置于应用的语言也需要在此阶段完成编译。如果需要构建Docker镜像,我们也可以在此阶段进行。当然,倘若此阶段失败的话,则意味着代码、或其依赖项中存在着潜在的错误。

  3. 测试阶段:自动化测试会在此阶段对代码及其行为,开展相应的验证。该阶段就像一个筛子一样,能够防止错误到达最终用户。我们可以按照从冒烟测试到端到端集成测试的顺序,划分出多个子阶段。同样,倘若此阶段失败的话,则会暴露出代码中的各项错误。

  4. 部署阶段:一旦通过了所有预定义的测试,我们就拥有了可执行的代码,接着我们便可以进行部署了。产品团队可以在此基础上划分出Beta、Staging、以及面向最终用户的Production等阶段。

  值得注意的是,上面提到的阶段皆为基本阶段。您也可以添加不同的子步骤,以使得 CI/CD过程更加自动化。下面,我们来讨论Azure DevOps的CI/CD。

  Azure DevOps是Microsoft Azure提供的服务集合。它通过为团队提供开发服务,以支持、规划、协作、构建和部署应用程序。通过与浏览器或IDE(集成开发环境)的集成,它为开发人员提供了如下服务:

  在下文中,我们将使用Azure管道,为目创建CI/CD管道,并将Azure DevOps 的CI/CD连接到LambdaTest帐户中,以便将各种错误、任务、故事等推送到Azure DevOps的项目实例中。

  Azure CI/CD管道简化了应用开发过程中的持续集成和持续交付。您可以使用GitHub或本地容器上的现有代码,从源代码阶段开始构建,让Azure存储库维护一个中央存储库,让Azure管道维护给定项目的构建和发布管道。其中,Azure DevOps的CI/CD流程是所有开发服务的关键流程。

  除了使用Azure DevOps进行持续集成和持续部署,这些管道还可用于“构建-部署-测试”工作流,以持续测试(CT)的方式,快速测试那些可扩展性例程中的变更。

  版本控制系统:将代码放入版本控制系统,是构建Azure CI/CD管道的第一步。您可以在GitHub、Bitbucket、Subversion或任何其他Git存储库中管理源代码。同时,它也支持Team Foundation版本控制(TFVC)系统。

  编程语言和应用程序类型:开发者可以在Azure管道中使用包括:Java、Ruby、C、C++、Python、PHP、Go和JavaScript在内的不同语言。

  部署目标:具有Azure CI/CD管道的应用程序,可以被部署到多个目标环境中。其中包括虚拟机、容器、以及任何本地或云平台。

  定价:虽然它是一个公共的免费项目,但是对于私人项目而言,用户每个月最多仅可免费运行1800分钟的管道作业。

  我们稍后会使用LambdaTest与Azure DevOps的CI/CD相集成,去简化错误的跟踪,并随时将epic、故事、以及任何任务推送到相应的项目中。

  您需要通过一个已激活的Azure帐户,来创建Azure存储库和管道。如果没有的话,请事先创建一个Microsoft Azure帐户。同时,为了创建应用示例,从链接处下载安装Visual Studio,并从处下载安装.NET Core。

  Azure DevOps项目简化了Azure CI/CD管道的设置。开发者可以使用现有的代码、或已创建的应用示例,作为新的Azure DevOps项目。在此,我们将按照如下步骤创建一个新的DevOps项目:

  完成创建后,项目会自动在Azure DevOps组织中配置一个完整的CI/CD管道。当然,您也可以对这些管道进行自定义。

  通过选择Retention选项卡,您可以添加、查看或删除相关策略,以保留或删除一定数量的构建。

  Azure资源部署 – 它会部署诸如:Azure Web App和Azure SQL数据库等所有Azure资源,以供应用程序的使用。

  Azure SQL数据库部署 – 各种有关SQL的更改会被部署到数据库上。

  如下图所示,在左侧面板中,您将会在Pipelines下找到Releases。此处展示了发布的历史记录。

  一旦你点击了Create Issue按钮,你就能在顶部收到一条告知您“错误已成功标记”的信息。同时,该错误也会被推送到项目中。

  在登录到Azure门户,并转至Azure DevOps项目中后,您将会在Boards下方的左侧面板中的Work Items里看到该问题。

  通过点击问题的title,您可以查看到LambdaTest针对该Work Item提供的有关测试环境的详细信息和屏幕截图。

  当然,您也可以在Azure DevOps门户上,通过repro steps、System info、以及所有其他的详细信息,来进一步查看。

  除了上述通过LambdaTest报告的错误解决问题的方法,您也可以将此类错误分派给开发人员或团队,以便他们采用敏捷的方法予以处理。

  在企业开发服务的过程中,Azure DevOps能够实现更智能的规划、更快的协作、以及更好的交付。自动化管道的设置也能够以简洁的方式,为应用提供测试、构建和部署。通过上述介绍与实践,我们成功地实现了将LambdaTest与Azure DevOps的CI/CD项目相集成,并了解了如何使用Core类型的Azure DevOps项目示例,去配置管道的基本方法。返回搜狐,查看更多