如何使用Azure Pipelines进行开发

微软最近将Visual Studio Team Services重命名为Azure DevOps令人惊讶,将熟悉的服务重新命名并添加了重要的新功能。 Azure Pipelines是这些新功能之一,它建立在Microsoft以前的云托管构建服务的基础上,可提供更强大的工具来构建和交付适用于Windows,MacOS和Linux的本地和云托管应用程序。

Azure Pipelines是一种持续交付工具,可与开源Jenkins等工具竞争。 它旨在用流行的语言构建代码,对其进行测试,然后将其交付给您选择的端点。 与其他CI / CD系统一样,它也是可扩展的,具有任务和扩展库,以添加对测试工具的支持以及与devops工具链的集成。

[ 开发最佳实践:您应采用的5种方法 如何使测试自动化与敏捷性和发展性保持一致 •InfoWorld解释了在设备开发时代的监视 什么是devops? 探索如何改变软件开发 ]

Azure Pipelines遵循devops工作流程

可以使用YAML或通过可视设计器来配置管道。 显然,Microsoft希望您使用YAML选项,这很有意义,因为管道配置成为与代码一起存在的另一个文件,可以通过选择源代码控制系统对其进行管理。 您还需要一个源代码控制环境来使用Azure Pipelines,因为那样可以自动执行测试和生成过程。 从提交触发构建可以大大加快开发周期。

使用azure-pipelines.yml文件在YAML中构建管道非常容易。 首先使用OAuth授予存储库访问代码的权限,将存储库连接到Azure Pipelines。 然后,它会扫描您的代码并构建一个可供使用的基本模板。 该模板将保存在您的代码的master分支中。 将代码提交到分支后,Azure Pipelines的默认触发器将运行您的生成。

默认的Azure Pipelines配置文件仅处理基本任务,您需要针对应用程序和目标环境进行微调。 如果您使用的是直接支持的环境之一(如.Net Core) ,则可以定义一个代理池,该池将您的代码定位为特定的版本和特定的OS。 虽然不是所有的环境都支持,但您可以使用管道任务来添加特定的版本来安装版本,尽管这会增加成本,因为这是一项单独的工作。

与托管代理合作

Microsoft提供了一组用于大多数常用版本的托管代理,包括Ubuntu(用于Linux应用程序,用于Android和Linux容器),两个版本的Visual Studio,用于MacOS和iOS的Xcode,以及用于容器的最新Windows Server。 您也可以为特定目标环境添加代理,尽管这些代理需要在云VM或本地基础结构上进行自我托管。

使用云托管构建的任何人都面临的一个问题是构建主机的短暂特性。 Microsoft将拆除并重置构建之间的虚拟机,因此您为运行的每个构建获得一个新的VM。 因此,每次运行构建时,都需要加载代码具有的所有依赖关系,这可能会花费大量时间。 尽管有一些选项,例如自托管生成代理,但实际上是向生成YAML添加任务以从Azure存储或外部存储库(例如NPM或NuGet)加载文件的问题。

运行构建后,您的Azure管道便可以运行测试,将结果发送到记录器,如果测试失败,则构建失败。 以常用日志文件格式导出结果的功能使您可以将其导入分析工具,以准备诊断代码并修复任何错误。

编译代码工件被传送到预定义的构建目录,然后使用您选择的发布任务进行发布。 例如,如果要将Web应用程序交付给Azure,则.Net Core代码可以直接推送到NuGet或包装为ZIP文件。

使用Azure Pipelines可视设计器

尽管基于YAML的配置Azure Pipelines的方法使您可以构建和共享可重复的构建脚本和环境,但可视化设计器是一个有吸引力的替代方案。 如果您是开发人员概念和自动化构建的新手,那么尤其如此。 在Azure Pipelines Web UI中,首先创建一个新管道。 您需要指定存储库和要构建的项目。

创建作业很容易:选择创建一个空作业,然后将其附加到管道中。 然后,您可以为构建选择合适的代理。 然后,您可以在发布结果之前开始将作业附加到代理,运行脚本和编译代码。 测试完构建后,在附加持续集成触发器并自动执行构建过程之前,请使用“保存并排队”选项。 可视设计器非常灵活:您可以使用它将变量传递给作业和任务,使用的语法与YAML配置相同。

复杂的任务可以使用多个管道运行; 例如,使用一种代码来构建代码,使用一种代码来运行测试以及使用一种代码来处理部署。 触发器在管道之间传递状态,因此一旦所有测试通过,您就可以自动触发部署。

在GitHub上使用Azure Pipelines

微软使用Azure Pipelines所做的最聪明的事情也许是将它们与其余的devops工具脱钩。 是的,您可以将其与Visual Studio Team Services一起使用,但也可以将其与GitHub上的源代码一起使用。 开源项目获得了另一个好处,因为它们可以免费并行运行多达十个作业,而且构建时间不受限制。 尽管这可能需要在序列作业中进行一些工作,但它确实使开放源代码开发人员可以访问最新的构建工具,而不必站立自己的Jenkins或Travis实例。

您不限于使用Microsoft基础结构来运行Azure Pipelines,因为有一个自托管选项。 这为您提供了无限分钟的免费并行工作。 每月每个并行工作收取15美元的费用。 您需要安装Visual Studio的Team Foundation Server才能访问本地Azure Pipelines服务,并且一旦启动并运行,便可以将作业移至云平台或从云平台移出(如果您更喜欢使用Microsoft托管的工具)。

From: https://www.infoworld.com/article/3305845/how-to-work-with-azure-pipelines-for-devops.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值