代码之家  ›  专栏  ›  技术社区  ›  ataraxis

如何说服ansible只运行一次任务块?

  •  0
  • ataraxis  · 技术社区  · 3 年前

    我们的系统有一个非常大的剧本。整个剧本在每个更新周期都会运行——这很糟糕。

    很多任务都是安装基本的apt包(如git),在任务真正改变之前只需要一次,例如,如果我们更改要安装的包的列表。

    我想过创建一个这些任务的块,并在某个地方存储一个版本文件,然后在再次运行块之前,将该文件的内容与块的版本进行比较,不幸的是,这需要很长时间。

    另一方面,我也可以想象一个类似于增量更新的剧本,它只在以前的剧本的基础上更新真正需要的东西。

    对我来说,这个问题感觉很基本,因此我想知道这样的事情是否可能 已在ansible中实现 以这样或那样的方式——我想避免重新发明轮子。

    0 回复  |  直到 3 年前
        1
  •  -2
  •   izzeddin ÇELİK    3 年前

    如果你接受另一个yml文件的调用,你必须使用

    include_tasks module
    

    因为使用

    run_once: true
    

    照着