在 Azure Pipelines 中至少需要一个编译服务器的 Agent 才能编译代码或发布软件。Azure DevOps 本身已经提供了一个 Agent,但出于各种理由(需要特殊的编译打包环境、需要更高的性能、需要更多的控制权等)很多时候需要一些自托管代理。这篇文章将讲解如何在 Windows 系统上安装及配置 Build Agent(主要基于之前几篇文章所构建的环境)。
2. 下载 Agent 安装程序首先进入要安装 Build Agent 的 Windows 系统,然后访问 Azure DevOps,在首页的左下角点击 Organization settings,进入 Organization Settings 页面后选中左侧菜单的 Agent pools 菜单项,进入 Agent pools 页面,这时候可以看到已经有两个 Agent Pool,分别是 Default 和 Azure Pipelines。
选中 Default 进入 Agent Pool 的详细页面,然后点击右上角的 Net agent 按钮,出现一个下载并安装 Agent 的教学页面。点击 Download 把 Agent 安装包下载到 downloads 目录。
然后用管理员的方式打开 PowerShell,输入教学页面中 **Create the agent ** 这段的内容:
PS C:\> mkdir agent ; cd agent PS C:\agent> Add-Type -AssemblyName System.IO.Compression.FileSystem ; [System.IO.Compression.ZipFile]::ExtractToDirectory("$HOME\Downloads\vsts-agent-win-x64-2.184.2.zip", "$PWD")这段脚本在 C 盘创建了 agent 目录,并且将刚刚下载的 agent 文件解压到这个目录。
然后输入 C:\agent> .\config.cmd 开始配置 Agent。
3. 创建 personal access token在开始配置 Agent 之前,如果你的 Windows 系统与 Azure DevOps 不在同一个域中,你还需要一个 personal access token 来获得访问 Azure DevOps 的权限。这一节将讲解如何获得这个 token。
点击页面右上角的 user settings 按钮,在弹出的菜单中选中 Personal access tokens。
在 Personal Access Tokens 页面点击 New Token 按钮。
在弹出的表单中随便填个名字,然后点击 Show all scopes 按钮:
在 Agent Pools 里选择 Read & manage,然后点击 Create 按钮创建 token:
创建 token 以后记得复制并保存,因为以后将不再显示这个 token:
4. Agent 中的各种选项接下来将介绍 config 中的各种选项
4.1 身份验证server URL:Azure DevOps 的地址。
authentication type:有 PAT 和 negotiate 两个选择,前者需要输入 personal access token,后者需要输入用户名和密码。这里使用之前已经创建好的 personal access token。
4.2 Pool 和 Agent 的名字agent pool:输入需要加入的 agent pool 的名字,直接按回车是默认值,默认值是 Default。
agent name:输入 agent 的名字,可以直接按回车输入默认名字。
4.3 设置 Agentwork folder:Agent 的工作目录,默认是 _work。
Perform an unzip for tasks for each step:一个额外的安全选项,直接回车选择默认值。
run agent as service:是否让 Agent 作为 windows service 运行。这里我选择了 Y,为了以后每次启动 Windows 都直接启动。
User account to use for the service:输入作为 windows service 运行时的用户名。
Password for the account:前面输入的用户名对应的密码。
所有流程跑完以后截图如下(因为我在中文 Windows 上截的图,所以参数的名字有出入):