Team Build Permissions
Figuring out permissions is one of the most common stumbling points in the use of any new product where half the time you are trying to figure out – what am I doing wrong, why the heck is this feature not showing up, how can I get this damn option enabled and so on!
In case of Team build – again, this is one of the most common problems people have faced and various questions have been asked on this.
So let’s start at the very beginning…you have got a build machine ready and now you have figured out from all blogs and forums that you need to install something to get Team Build working in Team Foundation.
To setup a build on the build machine you need to be
a. An admin on the build machine
b. During setup you also provide a valid ‘build service account’. This is the account under which the build process will take place.
Build Service account permissions
- Needs to be a member of the ‘Build Services’ group – this automatically gives this account all the relevant permission – remember the service account touches quite a few TFS parts as it goes through the build process
- Also make sure this account has full access to the ‘drop location’ which you specified while creating your build type using the build type wizard. This is the location where your build binaries are dropped.
- The service account also needs to have ‘Publish Test Results’ permission in case you want to include tests in your build process.
- In case you are running webtests as a part of your build process, the build service account needs to be an admin on the build machine. But this is not recommended until and unless you are running webtests.
Build Type – Abhinab explains very well in his blog what exactly is a build type and how you can perform various actions on it. In this blog you get to know the kind of permissions you require to do all that.
- To create a build type : You need to belong to a group which have the ‘Administer a build’ privilege AND you should have permission to checkin into the ‘Team Build Types’ folder in source control. This is designed in this way because build type files are actually checked into this folder and any edits requires the user to check out and checkin this file and of course we don’t want everyone in the team missing around with the build scripts do we?
Note : Often it so happens that you belong to two groups – say project administrator AND contributor. And if any one of the group has deny checkin permission enabled – then that overrides all other checkin permissions and you will NOT be allowed to play with the build type.
- To edit/to delete a build type : Same as above
- How to revoke permissions : In case you want to revoke creating/editing/deleting a build type from someone make sure that you deselect simply deny checkin permission to that individual using
Start a build All that you need is ‘Start a build’ permission to get this working.
Delete a build You need ‘Administer a build’ permission AND publish test result permission to delete a build. The publish test result permission is required because when you delete a build – all relevant test results are also deleted. Also please note that in case this build had test results associated with it, you also need to have ‘Publish Test Results’ permissions to delete this build.
Stop a build All that you need is ‘Administer a build’ permission to get this working.
View a build report This requires ‘View Project Level’ permission.
Edit a build Quality All that you need is ‘Edit a build quality’ permission to get this working.