【发布时间】:2015-03-18 09:39:49
【问题描述】:
我们有一个 jenkins 服务器正在运行,它使用 docker jenkins plugin 在 docker 容器上构建相应的作业:
每个作业每 N 分钟检查一次是否对 git 进行了更改。如果发生任何更改,则会创建一个 docker 容器,并且项目会在该容器上成功构建。最后,构建完成后,docker 容器将关闭。
问题: Jenkins 会在所有 N 分钟内触发一个新的构建对 git 没有任何更改。问题可能是由于 docker 容器不再可用,因此没有可用于检查更改的工作区。
知道如何解决这个问题吗?
编辑:无法从公共网络访问我们的 jenkins 服务器。
编辑:解决方法:创建一个新作业,将项目克隆到 一个工作区(在詹金斯大师上)并触发一些子工作以防万一发生变化。这里的不同之处在于,master 保留了工作空间,因此能够检查差异,而 docker 容器的工作空间在容器关闭后被删除。
【问题讨论】: