使用生成工作区

与您的需要 您的 dev 设备的工作区域 开发您的应用程序,必须指定生成代理使用生成和测试的 app 的工作区域。

您希望做什么?

  • 为生成定义指定工作区域

  • 查看已编译工作区域定义的示例

  • 复制在工作区域中的数据

  • 了解生成工作区域的工作原理

为生成定义指定工作区域

当您 定义生成过程,您应遵循一些最优方法,当您指定的工作区域。

包含所有所需的文件夹。

确保您包含了包括生成过程所需的文件的所有文件夹。 例如,因此,如果添加另一个解决方案添加到 过程 选项的 要生成的项 字段,则可能必须添加其他映射到工作区域。

仅包含所需的文件夹。

映射到 活动状态 值您的生成过程只需的文件夹。 如果映射文件夹的子文件夹包含生成过程的文件不要求,不映射其与 已掩蔽状态 值。 在许多情况下,当您创建生成定义时,将在工作区中映射团队项目的根文件夹。 此配置会导致生成代理下载团队项目的版本控制文件夹中的所有文件。 如果此文件夹包含大量数据,则生成会浪费生成系统资源,并减慢您的生成请通过下载它不需要大量数据。

在从**“进程”选项卡上的“要生成的项”**字段中删除项时,将查找可从工作区中删除的映射。

提示

有关优化工作区域的更多信息,请参见 优化工作区

使用 $(SourceDir) 标记将服务器文件夹映射到 .. \Sources subdirectory 中的本地文件夹。

在大多数情况下,源文件在生成代理上的最佳位置是在工作目录中的 ..\Sources 子目录的下方。 可使用“生成代理文件夹”框中的 $(SourceDir) 标记来指定此位置。

了解工作区影响签入所触发的生成定义的方式。

如果已将生成定义的“触发器”设置为**“持续集成”“滚动生成”“封闭签入”**,则会将映射的服务器文件夹绑定到生成过程。 这是一个示例。 开发人员签入对文件夹的更改。 该文件夹在生成定义的工作区域映射,该生成定义一台 封闭签入 触发器。 更改将被阻止,直到生成过程完成。

生成定义工作区域示例

Roberto 是一名版本生成工程师,他创建了 Storefront Nightly 生成定义。

生成定义工作区示例

步骤 1 此生成定义将生成两个解决方案:$/Core/Controllers/Controllers.sln$/Core/Viewers/Viewers.sln。 因此,它必须映射包含这些解决方案的两个文件夹、这些文件夹所包含的项目以及它们所需的所有其他文件。

步骤 2 为了提高生成过程效率,Roberto 排除了包含其生成过程不需要的文档文件的文件夹:$/Core/Viewers/Docs

步骤 3 解决方案依赖于其他公司的组件库中的一些二进制文件。 这些二进制文件受专有机制保护,该机制要求它们位于特定的物理文件夹中:c:\adatum\widgets

复制在工作区域中的数据

通过将映射从一个工作区复制到另一个工作区,可为您节省时间。

从某个工作区中复制映射

  1. 选择**“复制现有工作区”**。

  2. 在**“选择要复制的工作区”**对话框中,从工作区中复制映射。

从其他生成定义工作区或其他团队成员的工作区中复制映射

  1. 执行以下步骤之一:

    • “若要从其他生成定义工作区中复制映射”,请打开生成定义,然后选择**“工作区”**选项卡。

    • 从其他团队成员的工作区中复制映射,要求团队成员从菜单栏中,选择**“文件”“源代码管理”“工作区”。 选择工作区,然后选择“编辑”**。

  2. 打开**“工作文件夹”表中行的快捷菜单,然后选择“选择全部”**。

  3. 打开**“工作文件夹”表中行的快捷菜单,然后选择“复制”**。

  4. 创建一个文本文件,将剪贴板的内容粘贴到该文本文件中,然后保存该文件。

  5. 创建一个生成定义,或修改作为将映射复制到的目标的现有生成定义。

    有关更多信息,请参见创建生成定义编辑生成定义

  6. 在**“工作区”选项卡上,打开“工作文件夹”表中的行快捷菜单,然后选择“粘贴”**。

  7. 必要时,可采用映射以供生成代理使用。 具体而言,请确保**“生成代理文件夹”**框中的值是正确的,并包含相应的 $(SourceDir) 标记。

了解生成工作区域的工作原理

在生成过程中,生成代理将编译源文件,并对源文件执行其他操作。 生成代理应先从版本控制服务器上的文件夹中将文件下载到本地工作目录,然后才能做到这一点。 为了帮助下载这些文件,生成代理将创建一个版本控制工作区,该工作区会将服务器上的文件夹映射到生成代理的工作目录中的本地文件夹。

生成工作区扮演的角色

在生成过程开始之前

步骤 1 在您的生成系统中设置每个生成代理的工作目录。 有关更多信息,请参见部署和配置生成代理

步骤 2 当您创建生成定义时,您在**“工作区”**选项卡上,指定包含要下载的文件的文件夹以及将这些文件夹映射到生成代理上的本地文件夹的方式。

在生成过程中

步骤 3 生成过程会将您的工作区规范传递到 CreateWorkspace 活动 工作流活动以在其工作目录中创建一个工作区。

步骤 4 生成过程会使用 DownloadFiles 活动 活动将文件下载到该工作区。 在完成此步骤后,生成代理可对这些文件执行操作(如编译)。