Azure Devops - 尝试一下在Pipeline中使用Self-hosted Windows agent

1.简单介绍

Azure Devops是微软提供的辅助软件的开发,测试,部署以及计划和进度跟踪的平台,通过Azure Devops可以使开发者,项目经理,运维人员在软件的整个生命周期中更紧密地合作,同时借助Continuous Integration(简称CI)和Continuous Deployment(简称CD)的功能,公司或者组织可以更快速地研发和变更软件,从而实现快速迭代。

当前Azure Devops的CICD功能在微软的很多平台上进行了集成,

比如Microsoft Fabric中,

或者在Power Platform中,

这边将尝试在Azure Devops平台中使用一下self-hosted Windows agent

2.具体说明

2.1 准备项目

这边打算基于Asp.Net Core WebApi模板(.NET9)制作项目,然后发布到Github public repository中,后续Azure Devops的Pipeline可以连接到这个repository的。

2.1.1 制作项目

假定已经制作了一个.NET9 WebApi项目,如下图

2.1.2 发布项目

这边将项目从VSCode Push到Github public repository中

  1. 在VSCode打开项目,在Souce Control界面中,点击Publish to Github按钮,
  1. 可能会弹出如下的窗口,点击Authorize Visual-Studio-Code按钮即可,
  1. 在VSCode的上方会弹出如下下拉框,选择Publish to Github public repository选项,

4)最后在Github中就出现了项目了

2.2 Azure Devops操作

2.2.1 创建项目
  1. 打开Azure Devops平台,点击New project
  1. 设定 Project name, 同时Visibility栏中选择Public,最后点击Create按钮,

3)最后创建的project如下图所示,

2.2.2 创建Agent
  1. 点击Azure Devops左下角的Organization settings,
  1. 点击左侧菜单中的Agent pools,在右侧的面板中点击Add pool进行Agent pool的创建,
  1. 在新建的agent pool中,点击Agents tab, 然后点击New agent按钮,

4)在弹出的窗口中按照自己的系统类型点击Download按钮,同时按照界面上的指导进行配置,

note, 下载好agent package文件后,需要进行一下配置,其中会使用到Personal access token,这个token的获取方式如下,

点击Azuer Devops右上角的User Settings图标,然后在下拉菜单中选择Personal access tokens,

在出现的Personal Access Tokens界面中,点击New Token按钮进行一下创建即可,

5)安装和配置好agent后,在本地启动一下agent

note, PowerShell需要以管理员身份来运行的,

6)在agent pool的 Agents tab对应的面板中出现了新建的agent了,

2.3 创建和运行Pipeline

  1. 在Azure Devops对应Project中,点击左侧的Pipelines选项,然后再右侧面板中点击Create Pipeline按钮

2)在出现的 Souce code配置中,选择GitHub选项

3)选择一下之前publish到的Github Repository

  1. 在弹出的Approve & Install Azure Pipelines 窗口中,点击Approve & Install按钮
  1. 在Configure your pipeline面板中,选择ASP.NET
  1. 接着会出现Pipeline的YAML文件,点击Save and run按钮

在Azure Devops的Pipeline中可以配置很多的用于Build,Test, Deployment的task,

7)可以看到有一个Job处于Quened的状态了

8)可以根据需要对pipeline进行进一步配置并运行,如果agent运行正常,则最后job的状态是Success

同时之前启动self-hosted agent的PowerShell命令行中,也有提示的

有了Self-hosted Windows agent,就可以将Pipeline中的agent job跑在本地的计算机中了。

3.总结

本文简单记录了一下在Azure Devops Pipeline中使用Self-hosted Windows agent的过程,Pipeline更加详细的内容还可以参考MS Learn的文章Azure Pipelines。除了可以使用Azure Devops来实现项目的Continuous Integration和Continuous Deployment外,还可以使用Jenkins, Github Actions等工具,随着大语言模型使用的普及,这些平台中也加入了更多与AI相结合的功能了。

如果本文哪里有错误,麻烦告之,谢谢谢谢!

相关推荐
小魏小魏我们去那里呀15 小时前
Alibaba Cloud DevOps Integration For JetBrains 插件使用指南
ide·阿里云·devops·jetbrains
Traced back16 小时前
WinForms 线程安全三剑客详解
安全·c#·winform
喵叔哟16 小时前
05-LINQ查询语言入门
c#·solr·linq
爬山算法16 小时前
Hibernate(84)如何在DevOps流程中使用Hibernate?
oracle·hibernate·devops
山岚的运维笔记19 小时前
SQL Server笔记 -- 第15章:INSERT INTO
java·数据库·笔记·sql·microsoft·sqlserver
钰fly20 小时前
工具块与vs的联合编程(豆包总结生成)
c#
c#上位机21 小时前
wpf之行为
c#·wpf
星夜泊客21 小时前
C# 基础:为什么类可以在静态方法中创建自己的实例?
开发语言·经验分享·笔记·unity·c#·游戏引擎
kylezhao20191 天前
深入浅出地理解 C# WPF 中的属性
hadoop·c#·wpf
多多*1 天前
2月3日面试题整理 字节跳动后端开发相关
android·java·开发语言·网络·jvm·adb·c#