-
Notifications
You must be signed in to change notification settings - Fork 3
Home
The Chef integration for Visual Studio Team Services provides a set of tasks to automate commonly performed build and release activities against the Chef Automate platform.
This site provides detailed documentation on the released tasks.
There are a number of tasks in the extension, most of them work on Windows and Linux in both private and Hosted Agents. However there are a couple of places where this is not the case. The following table shows what tasks will run where.
Task | Private Windows Agent | Private Linux Agent | Hosted Windows Agent | Hosted Linux Agent |
---|---|---|---|---|
Update Cookbook Version Number | Yes | Yes | Yes | Yes |
Upload Cookbook to Chef Server | Yes | Yes | Yes | Yes |
Install ChefDK | Yes | Yes | No | Yes |
Linting | Yes | Yes | Yes | Yes |
Test Kitchen | Yes | Yes | Yes | Yes |
Install Cookbook Gems | Yes | Yes | Yes | Yes |
Install Gem | Yes | Yes | Yes | Yes |
Execute Knife | Yes | Yes | Yes | Yes |
Add Variables to Chef Environment | Yes | Yes | Yes | Yes |
Release cookbook version to environment | Yes | Yes | Yes | Yes |
Install InSpec | Yes | Yes | No | Yes |
Excute InSpec | Yes | Yes | Yes | Yes |
Execute Chef Client | Yes | Yes | Yes | Yes |
Publish Cookbook to Supermarket | Yes | Yes | Yes | Yes |
**Note: ** To install ChefDK or InSpec on a Private Linux Agent then task process must be running as root or under an account that has passwordless sudo access. For a Private Windows Agent the process must be running with elevated privileges.
In some scenarios it maybe necessary to run more than one Azure DevOps agent on one machine. In this situation, if the flag to remove the private key is selected on a task, one agent will complete before the other one and therefore remove the private key. This means that it will not be available for the other agent and thus the pipeline will fail.
To allow this scenario to work, the extension will now name the private key filename based on the agent ID and, if available, the release environment name. This allows the task to work during the build phase and the release phase.
We are continually developing and updating the extension. To keep track of the changes please refer to the release versions below or from the navigation.
Endpoints
Tasks
- Add Variables to Chef Environment
- Install ChefDK
- Execute Chef Client
- Install InSpec
- Execute Inspec
- Install Gem
- Execute Knife
- Linting
- Test Kitchen
- Release Cookbook Version to Environment
- Update Cookbook Version Number
- Upload Cookbook to Chef Server
- Publish Cookbook to Supermarket
Guides
Releases