我正在尝试轮询 ftp 位置。我正在使用 Jenkins 进行项目的持续集成。因此,如果有人可以建议我使用 Jenkins 中的插件或任何其他方法来监视 FTP 位置的变化,那将会很有帮助。我需要监控 FTP 位置的变化,当发现变化时,我必须建立另一个工作。
问问题
4879 次
2 回答
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用户指南:
- 提供了一个
FtpDirectory
使用 appache commons 列出 FTP 位置中的文件的类示例FTPClient
- 描述了
MyListener
可以监听的事件 - 如何配置
DirectoryPoller
于 2013-10-06T11:23:34.520 回答
1
不确定如何在 Jenkins 中实现这一点。如果我只是回答监控 FTP 位置部分,您可以这样做。
确定要使用的编程语言。(Java、.NET 等)。编写代码来监控 FTP 服务器(假设它是您要监控的特定远程目录)并执行需要执行的作业。监视和执行作业都需要用编程语言完成。
我还假设您需要某种计时器来进行监视,这也可以使用诸如 Java 之类的编程语言来完成。
于 2013-04-20T00:20:25.097 回答