zoukankan      html  css  js  c++  java
  • 将团队项目迁移到另外一个团队项目集合中

    问题描述

    经常有客户问我:”在Azure DevOps Server中,如何将一个团队项目迁移到另外一个团队项目集合中?”

    简单的答案是:“目前版本不支持!”。

    这是目前全球用户关注度最高一条需求(https://developercommunity.visualstudio.com/idea/365365/make-it-possible-to-move-a-team-project-between-te-1.html),但是非常遗憾,微软产品组目前也解决不了这个问题。

    问题分析

    实际上,鉴于Azure DevOps Server (之前叫TFS)的设计,短时间内通过系统升级无法实现这样的功能。不能实现这个功能的原因有许多,但是其中最核心的一个是数据唯一性标志ID。

    在TFS系统,所有的工作项都具有一个唯一的ID值,这个ID值是一个自动增量加1的序列号,例如新增一条需求的ID为1001,之后新建一个Bug的工作项ID就是1002。在同一个团队项目集合中,这个工作项ID的序列号是共享的,也就是说在第一个团队项目中新增了一个工作项,在第二个团队项目中新增的工作项ID也会自动加1。在不同的团队项目中,有可能都存在1001这样的工作项。如果我们在团队项目集合之间迁移团队项目,那么工作项数据将变得非常混乱。

    另外,由于传统的TFVC库也存在同样的问题,在同一个团队项目集合中,路径都是以美元符号$开头的,文件的路径格式为”$/团队项目名称/文件或文件夹路径“,如果我们在团队项目集合之间迁移团队项目,同样会让系统中的数据变得混乱不堪。

    再加上报表数据库tfs_warehouse中的数据结构的复杂性,使得这种迁移功能变得非常复杂,涉及数据的变更太多,几乎是一个无法完成的工作。

    所以,大家以后不要在问如何迁移团队项目的问题了。

    解决方案

    从上面的分析,我们可以看到这是一个无解的问题。

    但是,我们可以避免出现这样问题。为了避免在使用Azure DevOps Server的过程中出现需要迁移团队项目的问题,需要在使用之初对企业中的研发数据做好规划,按照一定的标准创建团队项目。例如,同一个产品线的信息系统存放到相同的团队项目集合中,相同研发团队的信息系统存放到同一个团队项目集合中;如果考虑到不会出现成千上万的团队项目,尽量使用默认的团队项目集合(DefaultCollection),避免使用新的团队项目集合。


    image

    ------------------------------------------------------------

    http://www.cnblogs.com/danzhang/  DevOps MVP 张洪君

    ------------------------------------------------------------

  • 相关阅读:
    vue+webpack搭建项目基础架构
    vue入门学习篇——父子组件通信
    vue入门学习篇——数据双向绑定原理及简单实现
    vue入门学习篇——挂载点、实例、模版之间的关系
    毫秒转成天、小时、分钟、秒
    可执行jar包的MANIFEST.MF
    fsck系统修复
    HDFS, YARN, HBase, Hive, ZooKeeper端口说明
    解压 tar zxvf 文件名.tar.gz 压缩 tar zcvf 文件名.tar.gz 目标名
    Linux学习笔记之RedHat Enterprise Linux 6.4 使用 Centos 6 的yum源问题
  • 原文地址:https://www.cnblogs.com/danzhang/p/12596182.html
Copyright © 2011-2022 走看看