2017-02-04 2 views
0

Ich muss einen Remote-SFTP-Ordner überwachen, um meine Jenkins-Skript-Pipeline auszulösen.Benutzerdefinierter Trigger für eine Jenkins-Skript-Pipeline

Ich habe auf Google und Jenkins Dokumentation gesucht, aber ich kann nicht finden, wo der benutzerdefinierte Code eingefügt wird, der von Jenkins verwendet wird, um zu entscheiden, auszulösen, oder nicht mein Job.

Wissen Sie, ob es möglich ist oder sollte ich ein benutzerdefiniertes Plugin geschrieben?

Antwort

0

Ich vermute, dass Push-Trigger von Builds nicht möglich ist, und Sie müssen auf Abfragen zurückgreifen. In dieser Situation würde ich einen zweiten Pipeline-Job erstellen, der den Remote-SFTP-Ordner überwacht. Wenn eine Änderung erkannt wird, löst sie den eigentlichen Job mit dem Schritt build aus. Etwas in den Zeilen:

node { 
    def changes = false; 
    // Do your monitoring of the SFTP server here and set changes to true if changes are detected. If you need a state between different runs of this job, then you can use the archive and copyArtifact step to save and retrieve state from last run. 
    if (changes) { 
    build job: 'A', propagate: false, wait: false 
    } 

Sie dann diesen Job eingestellt, um periodisch ausgelöst werden: Triggering periodically

Verwandte Themen