Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows Jenkins master如何指示从属服务器从TFS下载源代码_Windows_Jenkins_Plugins_Tfs_Slave - Fatal编程技术网

Windows Jenkins master如何指示从属服务器从TFS下载源代码

Windows Jenkins master如何指示从属服务器从TFS下载源代码,windows,jenkins,plugins,tfs,slave,Windows,Jenkins,Plugins,Tfs,Slave,DevOps为我们的团队配置了一台windows从机作为构建机,我注意到他在Jenkins master中安装了TFS插件,而不是从机。然而,之后我们确实在从机中获得了源代码。 我想知道下载工作流是如何工作的 1) 主程序下载源代码,然后将代码传输到从程序 机器 2) 或者在主机连接到TFS服务器后,它只是指示从机直接从TFS服务器下载它 请解释一下机制。如果是2),则从机中安装的内容可以从TFS下载 插件通常是这样工作的: Master配置为使用一些VCS,并准备了一些设置 从机有一些能够

DevOps为我们的团队配置了一台windows从机作为构建机,我注意到他在Jenkins master中安装了TFS插件,而不是从机。然而,之后我们确实在从机中获得了源代码。 我想知道下载工作流是如何工作的

  • 1) 主程序下载源代码,然后将代码传输到从程序 机器
  • 2) 或者在主机连接到TFS服务器后,它只是指示从机直接从TFS服务器下载它
请解释一下机制。如果是2),则从机中安装的内容可以从TFS下载

插件通常是这样工作的:

  • Master配置为使用一些VCS,并准备了一些设置
  • 从机有一些能够执行下载命令的二进制文件
  • 构建启动后,大多数步骤都将通过二进制文件在从机上执行,包括下载源代码。这要求从机具有VCS二进制文件(例如,
    git
    )和对目标存储库的访问权(对于
    git
    ,它可能是ssh密钥)

    我现在手头上没有任何TFS的从机,但过程基本相同。我想如果您检查build的
    控制台输出
    ,您会在最顶端的某个地方看到用于TFS下载的二进制文件的完整路径

    以下是git的此类输出示例:

    Building remotely on slave01 in workspace /jenkins-workspace
    > /bin/git rev-parse --is-inside-work-tree # timeout=10
    Fetching changes from the remote Git repository
    > /bin/git config remote.origin.url git@github.com:ORG/repo.git # timeout=10
    

    要在Jenkins和TFS之间建立通信,需要将其安装并配置为状态。通过这种方式,Jenkins可以从TFS获得资源

    每个从机运行一个称为“从机代理”的单独程序,从机代理和Jenkins master需要建立一个双向通信链路。
    要在Jenkins中设置从属/节点,可以参考。如果所有设置都输入正确,节点从机将联机并与Jenkins master通信。

    我刚刚阅读了所有设置。如本文所述,在安装TFS插件(4.0)后,Jenkins master从TFS服务器下载源文件并发送到从机。在4.0之前,Jenkins slave需要安装tf.exe等来下载源文件本身。如果我的理解是正确的,那么实际上安装TFS插件4.0,Jenkins master会做很多下载工作,slave只会做构建工作。事实上,我认为Jenkins master不应该做任何实际的下载工作,而应该委托给slave。下面是我的输出,我不知道是谁(master还是slave)下载它-----在BuildSlaveV1(EUDCCESBUILDVM)(CES)上远程构建在工作区C:\J\workspace\CES#u Team\YuTest2中,查询自'D2017-02-21T19:57:56Z'起位于'$/Client/000MSBuild'的远程变更集。
    查询结果为:2017-02-21T19:57:41Z'上的'Adventure\yzheng'的变更集#32379。
    列出的工作空间……此处没有真正有用的内容。也许TFS插件没有给我们提供那么详细的输出。