Azure Pipelines Agent 多平台部署:Windows、Linux、macOS 配置详解
Azure Pipelines Agent 多平台部署:Windows、Linux、macOS 配置详解
Azure Pipelines Agent 是一款功能强大的构建和部署工具,支持在 Windows、Linux 和 macOS 等多种操作系统上运行,帮助开发团队实现自动化构建、测试和部署流程。本文将详细介绍如何在不同操作系统上配置和部署 Azure Pipelines Agent,让你快速上手并充分利用其强大功能。
一、Azure Pipelines Agent 简介
Azure Pipelines Agent 是 Azure DevOps 生态系统的重要组成部分,它能够在本地环境或云环境中运行,与 Azure DevOps 服务或本地 TFS 服务器进行通信,执行各种构建和部署任务。通过部署 Agent,团队可以将构建和部署过程与自己的基础设施紧密结合,提高开发效率和资源利用率。
上图展示了 Azure Pipelines Agent 的配置流程,包括生成 RSA 密钥对、注册 Agent、存储配置信息等关键步骤。
二、Windows 系统部署步骤
2.1 系统要求
Windows 系统需要满足一定的要求才能正常运行 Azure Pipelines Agent,具体可参考官方文档 docs/start/envwin.md。
2.2 配置过程
- 打开命令提示符,进入 Agent 安装目录,运行以下命令:
C:\myagent\config.cmd
-
根据提示输入服务器 URL,对于 VSTS 服务,通常格式为
https://contoso.visualstudio.com;对于本地 TFS,格式为http://myserver:8080/tfs。 -
选择身份验证类型,Windows 系统默认使用 Integrated 身份验证,无需输入凭据。
-
输入 Agent 池名称(默认使用 default)和 Agent 名称(默认使用当前机器名)。
-
选择工作文件夹(默认使用 _work)。
-
选择是否将 Agent 作为服务运行,根据需求输入 Y 或 N。
配置完成后,如果没有选择作为服务运行,可以通过运行 run.cmd 启动 Agent:
C:\myagent\run.cmd
三、Linux 系统部署步骤
3.1 系统要求与依赖
不同 Linux 发行版有不同的系统要求和依赖包。以 Ubuntu 为例,需要安装相关依赖包,具体可参考 docs/start/envubuntu.md;对于 Red Hat/CentOS 系统,可参考 docs/start/envredhat.md。
3.2 配置过程
- 打开终端,进入 Agent 安装目录,运行以下命令:
./config.sh
-
输入服务器 URL,对于本地 TFS,格式如
http://myserver:8080/tfs。 -
选择身份验证类型,Linux 系统默认使用 Negotiate 身份验证,需要输入用户名和密码。
-
输入 Agent 池名称和 Agent 名称。
-
选择工作文件夹。
-
选择是否将 Agent 作为服务运行。
配置完成后,若未作为服务运行,可通过以下命令启动 Agent:
./run.sh
3.3 作为服务运行
在 Linux 系统中,可以使用 systemd 将 Agent 作为服务运行,具体操作可参考 docs/start/svcsystemd.md。通过服务方式运行可以确保 Agent 在系统启动时自动启动,提高稳定性和可靠性。
四、macOS 系统部署步骤
4.1 系统要求
macOS 系统的要求可参考官方文档 docs/start/envosx.md。
4.2 配置过程
- 打开终端,进入 Agent 安装目录,运行:
./config.sh
-
输入服务器 URL、身份验证信息、Agent 池名称、Agent 名称和工作文件夹等信息,与 Linux 系统配置类似。
-
启动 Agent:
./run.sh
4.3 作为服务运行
macOS 系统中可以将 Agent 配置为服务,具体方法可参考 docs/start/svcosx.md。
五、Agent 启动与运行原理
Azure Pipelines Agent 启动后,会加载配置信息和 STS 注册信息,通过 OAuth 令牌与服务器进行通信,并定期更新令牌。Agent 会监听来自服务器的作业请求,当有作业时,会创建工作进程执行作业。
上图清晰地展示了 Agent 启动后与 STS 和 VSTS/TFS 服务器之间的交互过程,包括令牌交换、连接服务器和接收作业等步骤。
六、作业队列与执行
当有构建或发布作业时,服务会生成 JWT 令牌,使用目标 Agent 的公钥加密作业消息,并发送给 Agent。Agent 接收到消息后,使用私钥解密,创建工作进程执行作业。
七、常见问题与解决方案
7.1 代理配置
如果需要在代理服务器后面使用 Azure Pipelines Agent,可以参考 docs/start/proxyconfig.md 进行配置。
7.2 资源限制配置
可以根据实际需求为 Agent 配置资源限制,具体方法可参考 docs/start/resourceconfig.md。
7.3 角色配置
为 Agent 相关账户配置正确的角色是确保 Agent 正常工作的重要步骤,可参考 docs/start/roles.md 了解详细信息。
八、总结
通过本文的介绍,你应该已经了解了在 Windows、Linux 和 macOS 系统上部署和配置 Azure Pipelines Agent 的详细步骤。无论你使用哪种操作系统,都可以按照相应的指南快速完成 Agent 的部署,从而实现自动化构建、测试和部署流程,提高开发效率。如果你在部署过程中遇到问题,可以参考官方文档或相关资源获取帮助。
更多推荐




所有评论(0)