如何使用 Jenkins 检测 SFTP 服务器上是否存在文件?

How can I use Jenkins to detect the presence of a file on an SFTP server?

我想使用 Jenkins 监控 SFTP 站点,并在给定文件类型出现在该站点上时启动构建。

我该怎么做?

好的,那样的话你应该有 2 个工作。

第一份工作 - 运行 每 N 分钟使用 bash 脚本作为构建步骤: `wget ftp://login:password@ftp.example.org/file.txt

那么你应该有 https://wiki.jenkins-ci.org/display/JENKINS/Run+Condition+Plugin ,它在文件 "file.txt" (已下载或之前未下载)存在时运行

之后,如果文件存在(或执行任何其他操作),您可以触发下一个作业

就像在前面的回答中一样,我会使用两个作业,但我会使用 python 和 sftp 而不是 bash 脚本,因为它使处理 ssh 更容易一些。 https://pypi.python.org/pypi/pysftp