cookbook 'vsts_agent', '~> 3.2.0'
vsts_agent (16) Versions 3.2.0 Follow4
Installs/Configures visualstudio team services build agents
cookbook 'vsts_agent', '~> 3.2.0', :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 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 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" -
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](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.
Collaborator Number Metric
3.2.0 passed this metric
Contributing File Metric
3.2.0 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 contain a CONTRIBUTING.md file
Foodcritic Metric
3.2.0 passed this metric
No Binaries Metric
3.2.0 failed this metric
Failure: Cookbook should not contain binaries. Found:
vsts_agent/supermarket.pem.enc
Testing File Metric
3.2.0 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 contain a TESTING.md file
Version Tag Metric
3.2.0 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
3.2.0 passed this metric
3.2.0 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 contain a CONTRIBUTING.md file
Foodcritic Metric
3.2.0 passed this metric
No Binaries Metric
3.2.0 failed this metric
Failure: Cookbook should not contain binaries. Found:
vsts_agent/supermarket.pem.enc
Testing File Metric
3.2.0 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 contain a TESTING.md file
Version Tag Metric
3.2.0 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
3.2.0 passed this metric
3.2.0 failed this metric
Failure: Cookbook should not contain binaries. Found:
vsts_agent/supermarket.pem.enc
Testing File Metric
3.2.0 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 contain a TESTING.md file
Version Tag Metric
3.2.0 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
3.2.0 failed this metric
3.2.0 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