4.4 KiB
Azure DevOps Build and Release Agent Cookbook for macOS
Visual Studio Team Services is now Azure DevOps Services We're working on the best way to rename the cookbook and recipes while maintaining backwards compatibility.
Recipes
Bootstrap
Usage: azure_pipelines_agent_macos::bootstrap
Add the node to the agent pool or deployment group.
Teardown
Usage: azure_pipelines_agent_macos::teardown
Remove an existing agent from the build pool or deployment group.
Attributes
Agent Name
The name of the agent.
Default value: node['hostname']
default['azure_pipelines_agent']['agent_name']
Agent Version
The version of the agent to install.
Default value: '2.150.3'
default['azure_pipelines_agent']['version']
Agent Pool
The name of the agent pool you wish to add the agent to.
Default value: American Hanko's Agents
default['azure_pipelines_agent']['agent_pool']
Organization Name
The name of your Azure DevOps organization. (e.g. 'americanhanko' in https://dev.azure.com/americanhanko
)
Default value: americanhanko
default['azure_pipelines_agent']['account']
Admin User
The username of an adminstrator on the macOS system.
Default value: 'vagrant'
default['azure_pipelines_agent']['admin_user']
Agent Home Directory
The location that contains all builds, source, release, etc.
Default value: '/Users/#{node['azure_pipelines_agent']['admin_user']}/azure-pipelines-agent'
default['azure_pipelines_agent']['agent_home']
Additional Environment Variables
An optional hash may be set to pass environment variables to the agent. The agent will then be configured with these environment variables which it will then report back to the servers.
Default value: {}
default['azure_pipelines_agent']['additional_environment']
Deployment Group
This cookbook supports adding agents to Azure DevOps deployment groups. To use this feature, simply
set the default['azure_pipelines_agent']['deployment_group']
attribute. In addition, make sure you have
the appropriate values set for the following attributes shown below. By default, we assume that
if the default['azure_pipelines_agent']['deployment_group']
attribute is nil
, we are bootstrapping
a build agent and not a deployment agent. This means if you set this attribute, it will
override the default functionality. You may optionally specifiy deployment group tags using
default['azure_pipelines_agent']['deployment_group_tags']
.
default['azure_pipelines_agent']['deployment_group'] = nil
default['azure_pipelines_agent']['project'] = nil
default['azure_pipelines_agent']['work'] = nil
default['azure_pipelines_agent']['deployment_group_tags'] = nil
Authentication
This cookbook uses a personal access token to authenticate to your organization on the Azure DevOps servers. The cookbook allows access to the token via either an attribute, within a data bag or using a chef vault item.
Plaintext Attribute
Example:
default['azure_pipelines_agent']['pat'] = '0fbdebc988934add98179ddaae019a01711'
Data Bag or Chef Vault Item
Name your vault or bag and corresponding item whatever you like and make sure to set the corresponding attributes to reference it accordingly:
Example:
default['azure_pipelines_agent']['data_bag'] = 'tea_bag'
default['azure_pipelines_agent']['data_bag_item'] = 'green_tea'
However, it must contain a personal_access_token
key with
the token itself as the value. The token must have rights to read and modify
build agents. The permissions are selected at the time of the PAT creation, which
you can read more about here.
Example:
{
"id": "azure_pipelines_build_agent",
"personal_access_token": "iu8tfaxxrhce7yeu434yo9zfjtxif3jygzk24wegi855er2moobs"
}