bbd1e928b9 | ||
---|---|---|
.github | ||
attributes | ||
libraries | ||
recipes | ||
resources | ||
spec | ||
templates/default | ||
test/cookbooks | ||
.gitignore | ||
Berksfile | ||
CHANGELOG.md | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
LICENSE | ||
README.md | ||
SECURITY.md | ||
TESTING.md | ||
azure-pipelines.yml | ||
chefignore | ||
kitchen.yml | ||
metadata.rb |
README.md
Azure Pipelines Agent Cookbook
Formerly Visual Studio Team Services Build and Release Agent Cookbook
Installs and configures the cross-platform build and release agent for Azure Pipelines and Team Foundation Server 2015 and beyond.
Please check Wiki for more examples
Requirements
- Chef 14 or higher
Platforms
The following platforms are tested and supported:
- Debian 8 x64 (Jessie)
- Debian 9 x64 (Stretch)
- Ubuntu 16.04 (Xenial Xerus)
- Ubuntu 18.04 (Bionic)
- Ubuntu 17.10 (Artful Aardvark)
- CentOS 7
- Windows 10
- Windows Server 2012 R2
- OS X 10.10.5
- OS X 10.11.4
Attributes
node['vsts_agent']['binary']['version']
- set version of package to installnode['vsts_agent']['prerequisites']['redhat']['install']
- control dependencies installation for redhat based distros(redhat, centos etc.) . Default truenode['vsts_agent']['prerequisites']['debian']['install']
- control dependencies installation for debian based distros(debian, ubuntu etc.). Default true
Resource/Provider
vsts_agent
This resource installs and configures the vsts build and release agent
Actions
:install
: Install and configure the agent:remove
: Remove the agent and unregister it from VSTS:restart
: Restart the agent service
Parameters
agent_name
: name attribute. The name of the vsts agentdeploymentGroup
: deploy the agent into the deployment group. Default 'false
'deploymentGroupName
: name of the deployment group. Only applies ifdeploymentGroup==true
projectName
: name of the vsts/tfs project where to deploy the agent. Only applies ifdeploymentGroup==true
collectionName
: name of the vsts/tfs collection where to deploy the agent. Only applies ifdeploymentGroup==true
. Dafault value isDefaultCollection
deploymentGroupTags
: a comma-separated list of tags to set for the agent. Only applies ifdeploymentGroup==true
version
: an agent version to install. Default version from an attributeinstall_dir
: A target directory to install the vsts agentpath
: Overwrite system PATH environment variable values. Linux and macOS onlyenv
: Additional environment variables. Linux and macOS onlyuser
: Set a local user to run the vsts agentgroup
: Set a local group to run the vsts agentrunasservice
: run agent as a service. Default 'true
'windowslogonaccount
: Set a user name to run a windows service. Possible values are "NT AUTHORITY\NetworkService", "NT AUTHORITY\LocalService" or any system valid usernamewindowslogonpassword
: Set password for windowslogonaccount unless it is equal to NetworkService or LocalServicevsts_url
: url to VSTS instancevsts_pool
: A pool to connect an agentvsts_auth
: Authentication type. Default PAT auth. Valid options are:- PAT - Personal Access Token (requires vsts_token),
- Negotiate - Kerberos or NTLM (requires vsts_username and vsts_password),
- ALT - Alternate Credentials (requires vsts_username and vsts_password),
- Integrated - Windows default credentials (doesn't require any credentials).
vsts_token
: A personal access token for VSTS. Used with PAT auth type. Seevsts_username
: A user to connect to VSTS. Used with Negotiate and ALT authvsts_password
: A user to connect to VSTS. Used with Negotiate and ALT authwork_folder
: Set different workspace location. Default is "install_dir/_work"proxy_url
: Set the forward proxy (example value:http://192.168.1.1:8080
)proxy_sslcacert
: Set the root certificate which is used for communicating through the forward proxy (example value:/usr/local/share/ca-certificates/Internal-CA.crt
)
Examples
Install, configure, restart and remove a build agent. Check windows, linux or osx tests for more examples.
include_recipe 'vsts_agent::default'
if platform_family?('windows')
dir = 'c:\\agents'
else
dir = '/tmp/agents'
end
vsts_agent 'agent_01' do
install_dir dir
user 'vagrant'
group 'vagrant'
path '/usr/local/bin/:/usr/bin:/opt/bin/' # only works on nix systems
env('M2_HOME' => '/opt/maven', 'JAVA_HOME' => '/opt/java') # only works on nix systems
vsts_url 'https://contoso.visualstudio.com'
vsts_pool 'default'
vsts_token 'my_secret_token_from_vsts'
windowslogonaccount 'builder' # will be used only on windows
windowslogonpassword 'Pas$w0r_d' # will be used only on windows
action :install
end
vsts_agent 'agent_01' do
action :restart
end
vsts_agent 'agent_01' do
vsts_token 'my_secret_token_from_vsts'
action :remove
end
Install, configure, restart and remove a deployment agent.
vsts_agent 'deployment_agent_01' do
install_dir dir
deploymentGroup true
deploymentGroupName 'project1-deployment-group'
projectName 'project1'
collectionName 'DefaultCollection'
deploymentGroupTags "web, db"
user 'vagrant'
group 'vagrant'
path '/usr/local/bin/:/usr/bin:/opt/bin/' # only works on nix systems
env('M2_HOME' => '/opt/maven', 'JAVA_HOME' => '/opt/java') # only works on nix systems
vsts_url 'https://contoso.visualstudio.com'
vsts_token 'my_secret_token_from_vsts'
windowslogonaccount 'builder' # will be used only on windows
windowslogonpassword 'Pas$w0r_d' # will be used only on windows
action :install
end
How to contribute
Check Contribution Guide and Testing Guide