When making a deployment to production, should I mark my code with a label or create a branch for the code that's in production?
相关问题
- Getting error: File extension specified '.webt
- Using TFS command line tf.exe how can I copy a rep
- TFS Power tools Migrate doesn't actually migra
- What is the difference between tfpt scorch and tfp
- TFS 2017 Agent: and error occured while sending th
相关文章
- Is it possible to do a “destroy history” in TFS?
- Tag multiple branches in git?
- How do I make a TeamCity build appear in the TFS B
- TFS vs. JIRA/Bamboo/SVN [closed]
- Why doesn't my .tfignore file ignore my packag
- Is it possible to create a docker container from T
- How to Move TFS 2010 Build Definition between Proj
- How to fix TF246017 The Team foundation server cou
In TFS, I would have a Release branch with a label identifying the specific version being released to production.
Which would imply you have other branches may I suggest the following
Details
References:
Ideally, both.
You probably want to have a label so that you know exactly what you delivered for a specific release. However, you probably also want to create a branch so that you can perform minor bug fixing to what was released and create a new release.
You can use a combination of both. Here is how we do this internally for all projects.
We have structure with folder Branches and sub folder for each minor and major version. We also use labels that we set on individual sub folders so we can easily rebuild any specific version any time in the future.
You can also check out Visual Studio Team Foundation Server Branching and Merging Guide for more details.
I have seen both done, Labeling is more lightweight and to me easier. But, it has been pointed out that labels can be deleted rather easily. A branch protects against this by not actually being deleted unless "destroyed". The reason I prefer not use branches is I hate having to cloak them as I tend to do get latest from the root and don't want all those branches filling up my hard drive
For the record, since it was pointed out to me about label's being deleted I have removed permissions for Labeling from everyone but Admins and the build service accounts to help mitigate this.
In practice, you could approach it in one of two ways:
example:
example:
Ultimately, up to you in deciding what architecture to adopt, as long as it's consistent and makes sense to you.