Jenkins master如何指示slave从TFS下载源代码

时间:2017-02-21 08:41:23

标签: windows jenkins plugins tfs slave

DevOps为我们的团队配置了一个windows slave机器作为构建机器,我注意到他在Jenkins主机上安装了TFS插件,但没有安装奴隶机器。但是我们确实在奴隶中获得了源代码。 我想知道下载工作流程如何工作? :

  • 1)Master下载源代码,然后将代码传输到slave 机器?
  • 2)或Master连接到TFS服务器后,它只是指示从机直接从TFS服务器下载它?

请解释一下机制。如果它是2),那么在slave中安装什么能够从TFS下载。

2 个答案:

答案 0 :(得分:0)

VCS插件通常以这种方式工作:

  1. Master配置为使用某些VCS并使用某些设置进行准备
  2. Slave有一些能够执行下载命令的二进制文件
  3. 构建开始后,大多数步骤将通过其二进制文件在slave上执行,包括下载源代码。这要求slave具有VCS二进制文件(例如,git)并访问目标存储库(对于git它可能是ssh密钥)。

    我现在手边没有任何TFS奴隶,但过程非常相似。我想如果你检查一下构建的Console output,你会在最顶层的某个地方看到用于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
    

答案 1 :(得分:0)

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

每个从站运行一个名为" slave agent"的独立程序,slave代理和Jenkins master需要建立双向通信链路。 要在Jenkins中设置从属/节点,可以参考this article。如果所有设置都正确输入,节点从机将在线并与Jenkins主机通信。