Installs and configures Visual Studio Team Services Build and Release Agent
Please check Wiki for more examples
- Chef 12.5.0 or higher
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
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
This resource installs and configures the vsts build and release agent
:install: Install and configure the agent:remove: Remove the agent and unregister it from VSTS:restart: Restart the agent service
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==trueprojectName: name of the vsts/tfs project where to deploy the agent. Only applies ifdeploymentGroup==truecollectionName: name of the vsts/tfs collection where to deploy the agent. Only applies ifdeploymentGroup==true. Dafault value isDefaultCollectiondeploymentGroupTags: 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)
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
endInstall, 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
endCheck Contribution Guide and Testing Guide