简体   繁体   English

TFS版本管理

[英]TFS Release Management

We have 9-10 applications in our project. 我们的项目中有9-10个应用程序。 Until now, there wasn't a defined TFS structure and no release management. 到目前为止,还没有定义的TFS结构,也没有发布管理。 We need to setup one. 我们需要设置一个。

We are stuck in middle of it right now with some issues about the process to be followed for every release. 现在,我们陷入了每个发布所要遵循的流程问题。

This is what we have planned till now. 这是我们到目前为止所计划的。 We create a main branch which will have the current production source code. 我们创建一个主分支,其中将包含当前的生产源代码。 For managing the releases, we will create a "releases" folder where we will create a separate branch for every release. 为了管理发行版,我们将创建一个“发行版”文件夹,在该文件夹中,我们将为每个发行版创建一个单独的分支。 All the bug fixes and developer check ins will be done on this branch. 所有的错误修复和开发人员签入将在此分支上完成。

Currently, for deployment purpose, we are deploying the developed/bug fixed code to QA. 目前,出于部署目的,我们正在将开发的/错误的固定代码部署到QA。 After QA validation, we copy the published code from the QA environment to the Staging Servers. 在进行质量检查验证之后,我们将已发布的代码从质量检查环境复制到登台服务器。 After stage validation, the published code is copied to production. 在阶段验证之后,已发布的代码将复制到生产中。

Now, We are unable to figure out how/merge do we merge the release code to main line. 现在,我们无法弄清楚我们如何/合并发布代码到主线。 The client's requirement is that mainline code should be the one from where we published and deployed to QA. 客户的要求是,主线代码应该是我们发布并部署到质量检查部门的代码。 We were earlier planning to deploy from the release branch and merge the release branch to main once all the validation and the production move is complete. 我们早先计划从发布分支进行部署,并在完成所有验证和生产移动之后将发布分支合并到主分支。

But this means that if we incur any merging issues, the main line code could be buggy or unreliable and we could face major issues in case of any hot fixes/further releases. 但这意味着,如果我们遇到任何合并问题,则主代码可能会出现错误或不可靠,并且如果有任何热修复程序/其他版本,我们可能会遇到主要问题。

Please suggest a strategy that would be suitable for my requirements. 请提出适合我要求的策略。

Thanks in advance. 提前致谢。

You should be lookin towards more of a binary release model than a source release model. 您应该更多地关注二进制发布模型而不是源发布模型。 If you have to merge code then everything needs retested, which can be expensive. 如果必须合并代码,则所有内容都需要重新测试,这可能会很昂贵。

If you were in Git I would recommend Git Flow but since you seam to be in TFVC you should look at branch by release. 如果您使用的是Git,我建议您使用Git Flow,但是由于您希望使用TFVC,因此您应该按发行版查看分支。

Create a branch for your current codeline, say R1. 为您当前的代码行创建一个分支,例如R1。 Then work on there untill R1 is code complete. 然后在那儿工作,直到R1代码完成。 Branch to R2 to continue adding new features. 分支到R2继续添加新功能。

R1 can now be stabalised, released, and then supported at your measure maintining one continuous branch with one continuous build creating binaries. 现在可以对R1进行稳定化,释放和支持,以维持一个连续分支和一个连续生成二进制文件的方式进行维护。 You create a binary release pipeline in Release Management and off you go. 您可以在“发布管理”中创建二进制发布管道,然后就可以使用了。

R2 is then where new features are added and you create a separate build and binary pipleine for you new version untill you are code complete there. 然后在R2中添加新功能,并为新版本创建单独的版本和二进制pipleine,直到在那里完成代码为止。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM