【问题标题】:Jenkins + Ant and parallel scp/sshexecJenkins + Ant 和并行 scp/sshexec
【发布时间】:2016-12-13 10:27:03
【问题描述】:

让 Jenkins 构建使用 Ant 来完成繁重的工作。

首先获取代码,tar,scp,sshexec 解压,sshexec 再次安装。

目前有 2 台生产服务器。所以我使用 ant-contrib 中的for 来并行运行 scp/sshexec。因为 param 用于设置属性,然后在 scp/sshexec 中使用该属性 - 以避免 @ vs $ 符号的问题。 但是,这并没有按预期工作。

我要么得到:

  • 连接重置
  • ssh-agent 不存在(来自生产服务器 sshd 日志)
  • 未找到 Windows 套接字
  • scp doulbe 写入它正在连接的服务器(但传输成功)

在第二个 scp/sshexec 处构建总是失败,这很奇怪,因为第二个连接应该发生在 不同的服务器上。

问题: 我究竟做错了什么? 或者如何以不同的方式编写该 ant 脚本,同时仍然实现并行性?

【问题讨论】:

    标签: jenkins ssh ant


    【解决方案1】:

    这是根本原因: For param 用于设置属性,然后在 scp/sshexec 中使用 - 以避免 @ vs $ 符号出现问题。

    Ant 属性是 IMMUTABLE,因此如果在第一次迭代时设置为 X,它将在该循环的所有迭代中保持 X!

    所以我要么必须坚持串行执行并在sequential 末尾取消设置每个参数,要么尽可能使用@ 语法和parallel 循环。 sshexec 确实接受了 @syntax。

    【讨论】:

      猜你喜欢
      • 2012-10-16
      • 1970-01-01
      • 2020-12-18
      • 2014-05-01
      • 2011-10-31
      • 1970-01-01
      • 2012-04-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多