在 Azure Devops
中,代理分为两种
- 生成代理(Release Agent/CI Agent)
- 部署代理(Deploy Agent/CD Agent)
代理的作用:言简意赅就是帮你跑管道任务的;你会在某一个服务器安装各种语言的 SDK 吗?比如 Java 的JRE,.NET Framework 或 Python 等等,Java 和 Python 会安装在 Linux 服务器上,而 .NET 或 C++ 的大部分在 Windows 服务器上安装,因此为了让服务器可以分布式,就有了代理; 每一台服务器安装一个代理,Azure Pipeline 根据配置和选择,使用相应服务器的代理,将源代码进行编译;部署代理也是同理,A服务器要发布到 Tomcat 上,B服务器要发布到 IIS 上,C服务器需要部署在 Docker 上,服务器通过代理获取生成好的包,然后进行不同服务器的部署;发布和部署没有代理就无法工作
代理池
默认有一个 default
代理池,这里选择再添加一个代理池
下载代理安装包
代理支持的平台
- Windows
- Linux 参考
- MacOS
Release Agent
下载Windows x64 Agent
安装包;指定安装目录
PS D:\AzureDevopsServer\install\CIAgents\CIAgent01> .\config.cmd
___ ______ _ _ _
/ _ \ | ___ (_) | (_)
/ /_\ \_____ _ _ __ ___ | |_/ /_ _ __ ___| |_ _ __ ___ ___
| _ |_ / | | | '__/ _ \ | __/| | '_ \ / _ \ | | '_ \ / _ \/ __|
| | | |/ /| |_| | | | __/ | | | | |_) | __/ | | | | | __/\__ \
\_| |_/___|\__,_|_| \___| \_| |_| .__/ \___|_|_|_| |_|\___||___/
| |
agent v2.170.1 |_| (commit bb272bb)
>> 连接:
输入 服务器 URL > http://localhost:80
输入 身份验证类型 (对于 Integrated 按 Enter) >
正在连接到服务器...
>> 注册代理:
输入 代理池 (对于 default 按 Enter) > TestAgentPools
输入 代理名称 (对于 WANGPENGLIANG 按 Enter) > TestCIAgent01
正在扫描工具功能。
正在连接到服务器。
已成功添加代理
正在测试代理连接。
输入 工作文件夹 (对于 _work 按 Enter) >
2021-04-10 10:18:42Z: 设置已保存。
输入 是否将代理作为服务运行? (Y/N) (对于 N 按 Enter) > y
输入 要用于服务的用户帐户 (对于 NT AUTHORITY\NETWORK SERVICE 按 Enter) >
将文件权限授予“NT AUTHORITY\NETWORK SERVICE”。
已成功安装服务 vstsagent.localhost.TestAgentPools.TestCIAgent01
已成功设置服务 vstsagent.localhost.TestAgentPools.TestCIAgent01 的恢复选项
服务 vstsagent.localhost.TestAgentPools.TestCIAgent01 已成功设置为延迟自动启动
已成功配置服务 vstsagent.localhost.TestAgentPools.TestCIAgent01
已成功启动服务 vstsagent.localhost.TestAgentPools.TestCIAgent01
PS D:\AzureDevopsServer\install\CIAgents\CIAgent01>
至此, CIAgent
安装完成
注意:如果需要设置代理以服务方式运行,要使用管理员方式运行命令行
部署池
Deploy Agent
CDAgent
安装与 CI Agent
安装没太大区别,只是这里需要将命令修改为.\config.cmd --deploymentpool
--deploymentpool
参数指定了这是部署的Agent
PS D:\AzureDevopsServer\install\CDAgents\CDAgent01> .\config.cmd --deploymentpool
___ ______ _ _ _
/ _ \ | ___ (_) | (_)
/ /_\ \_____ _ _ __ ___ | |_/ /_ _ __ ___| |_ _ __ ___ ___
| _ |_ / | | | '__/ _ \ | __/| | '_ \ / _ \ | | '_ \ / _ \/ __|
| | | |/ /| |_| | | | __/ | | | | |_) | __/ | | | | | __/\__ \
\_| |_/___|\__,_|_| \___| \_| |_| .__/ \___|_|_|_| |_|\___||___/
| |
agent v2.170.1 |_| (commit bb272bb)
>> 连接:
输入 服务器 URL > http://localhost:80
输入 身份验证类型 (对于 Integrated 按 Enter) >
正在连接到服务器...
>> 注册代理:
输入 部署池名称 > TestDeployPools
输入 代理名称 (对于 WANGPENGLIANG 按 Enter) > TestDeployAgent01
正在扫描工具功能。
正在连接到服务器。
已成功添加代理
正在测试代理连接。
输入 工作文件夹 (对于 _work 按 Enter) >
2021-04-10 10:39:02Z: 设置已保存。
输入 是否将代理作为服务运行? (Y/N) (对于 N 按 Enter) > y
输入 要用于服务的用户帐户 (对于 NT AUTHORITY\SYSTEM 按 Enter) >
将文件权限授予“NT AUTHORITY\SYSTEM”。
已成功安装服务 vstsagent.localhost.TestDeployPools.TestDeployAgent01
已成功设置服务 vstsagent.localhost.TestDeployPools.TestDeployAgent01 的恢复选项
服务 vstsagent.localhost.TestDeployPools.TestDeployAgent01 已成功设置为延迟自动启动
已成功配置服务 vstsagent.localhost.TestDeployPools.TestDeployAgent01
已成功启动服务 vstsagent.localhost.TestDeployPools.TestDeployAgent01
PS D:\AzureDevopsServer\install\CDAgents\CDAgent01>