更新目录时运行Python脚本

时间:2016-06-20 08:31:33

标签: python jenkins jenkins-plugins

我有一个脚本,我想在更新特定目录时执行。更具体一点:开发团队有4个目录(比如“a”,“b”,“c”和“d”),它们会不时更新。我有一个脚本作为目录的参数名称。当目录“a”更新时,我想用参数“a”执行这个脚本。詹金斯可以吗?如果是这样,我可以使用SVN做同样的事情吗?

1 个答案:

答案 0 :(得分:2)

你可以使用python本身,watchdog库。

from watchdog.observers import Observer  
from watchdog.events import PatternMatchingEventHandler 

class FileHandler(PatternMatchingEventHandler):
    def process(self, event):
        print event.src_path, event.event_type  # print now only for degug

    def on_modified(self, event):
        self.process(event)

    def on_created(self, event):
        self.process(event)

if __name__ == '__main__':
    args = sys.argv[1:]
    observer = Observer()
    observer.schedule(MyHandler(), path=args[0] if args else '.')
    observer.start()

    try:
        while True:
            time.sleep(1)
    except KeyboardInterrupt:
        observer.stop()

    observer.join()