cookbook 'vsts_agent', '= 0.0.1'
vsts_agent (16) Versions 0.0.1 Follow4
Installs/Configures visualstudio team services build agents
cookbook 'vsts_agent', '= 0.0.1', :supermarket
knife supermarket install vsts_agent
knife supermarket download vsts_agent
Visual Studio Team Services Build and Release Agent Cookbook
Installs and configures Visual Studio Team Services Build and Release Agent
Please check Wiki for more examples
Requirements
- Chef 12.5.0 or higher
Platforms
The following platforms are tested and supported:
- Debian 8 x64 (Jessie)
- Debian 9 x64 (Stretch)
- Ubuntu 16.04 (Xenial Xerus)
- 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 install
- 
node['vsts_agent']['prerequisites']['redhat']['install']- control dependencies installation for redhat based distros(redhat, centos etc.) . Default true
- 
node['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 agent
- 
deploymentGroup: 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 attribute
- 
install_dir: A target directory to install the vsts agent
- 
path: Overwrite system PATH environment variable values. Linux and macOS only
- 
env: Additional environment variables. Linux and macOS only
- 
user: Set a local user to run the vsts agent
- 
group: Set a local group to run the vsts agent
- 
runasservice: 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 username
- 
windowslogonpassword: Set password for windowslogonaccount unless it is equal to NetworkService or LocalService
- 
vsts_url: url to VSTS instance
- 
vsts_pool: A pool to connect an agent
- 
vsts_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. See
- 
vsts_username: A user to connect to VSTS. Used with Negotiate and ALT auth
- 
vsts_password: A user to connect to VSTS. Used with Negotiate and ALT auth
- 
work_folder: Set different workspace location. Default is "install_dir/_work"
Examples
Install, configure, restart and remove a build agent.
Check [windows](test/cookbooks/windows-basic/recipes/default.rb), [linux](test/cookbooks/linux-basic/recipes/default.rb) or [osx](test/cookbooks/osx-basic/recipes/default.rb) 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](CONTRIBUTING.md) and [Testing Guide](TESTING.md)
Dependent cookbooks
| windows >= 0.0.0 | 
| ark >= 0.0.0 | 
| seven_zip >= 2.0.0 | 
Contingent cookbooks
There are no cookbooks that are contingent upon this one.
Foodcritic Metric
        
            0.0.1 passed this metric
        
      No Binaries Metric
        
            0.0.1 failed this metric
            Failure: Cookbook should not contain binaries. Found:
vsts_agent/supermarket.pem.enc
        
      Version Tag Metric
        
            0.0.1 failed this metric
            Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
        
  
0.0.1 passed this metric
            0.0.1 failed this metric
            Failure: Cookbook should not contain binaries. Found:
vsts_agent/supermarket.pem.enc
Version Tag Metric
        
            0.0.1 failed this metric
            Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
        
  
0.0.1 failed this metric