我正在尝试轮询ftp位置。 我正在使用Jenkins来持续集成项目。所以,如果有人可以建议我使用Jenkins插件或任何其他方法来监视FTP位置的变化,那将会很有帮助。 我需要监控FTP位置的变化,当发现变化时,我必须建立另一份工作。
答案 0 :(得分:6)
不确定如何使用Jenkins,但如果您想使用普通java监视FTP位置以进行更改(即在目录中添加/删除/修改文件时接收通知),则以下库可以帮助您实际的轮询/通知机制:https://github.com/drapostolos/rdp4j( Java远程目录轮询器)。
API的简单用法示例:
package example
import java.util.concurrent.TimeUnit;
import com.github.drapostolos.rdp4j.DirectoryPoller;
import com.github.drapostolos.rdp4j.spi.PolledDirectory;
public class FtpExample {
public static void main(String[] args) throws Exception {
String host = "ftp.mozilla.org";
String workingDirectory = "pub/addons";
String username = "anonymous";
String password = "anonymous";
PolledDirectory polledDirectory = new FtpDirectory(host, workingDirectory, username, password);
DirectoryPoller dp = DirectoryPoller.newBuilder()
.addPolledDirectory(polledDirectory)
.addListener(new MyListener())
.setPollingInterval(10, TimeUnit.MINUTES)
.start();
TimeUnit.HOURS.sleep(2);
dp.stop();
}
}
RDP4J User Guide:
FtpDirectory
类的示例,该类使用appache commons FTPClient
MyListener
可以侦听的事件DirectoryPoller
答案 1 :(得分:1)
不确定如何在Jenkins中实现这一目标。如果我只是回答监控FTP位置部分,这里是你如何做到这一点。
确定要使用的编程语言。 (Java,.NET等)。写代码 监视FTP服务器(假设它是您要监视的特定远程目录) 并执行需要执行的作业。监控和执行都是 工作需要用编程语言完成。
我还假设您需要某种计时器来进行监控,这可以 也可以使用Java等编程语言来完成。