前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >辨析 ansible 之 import 和 include

辨析 ansible 之 import 和 include

作者头像
看、未来
发布2022-05-06 15:17:45
4380
发布2022-05-06 15:17:45
举报
文章被收录于专栏:CSDN搜“看,未来”

辨析 ansible 之 import 和 include

概括起来讲,import_tasks 是静态的,include_tasks 是动态的。(学过 C++ 的朋友想一下静态联编和动态联编就明白了。)

在 ansible 中二者还会有更多的一些特性。

二者都可以用来将任务导入。

在使用 import_tasks 引用变量时,要确保变量定义在 vars/vars_file或命令行中。这个属于语言细节,注意一下。

使用 set_fact 是过不去的。

when 关键字对 include_tasks 和 import_tasks 有着本质区别。这个就属于编译特性了。这个特性在 ansible 中得以展现。

当对 import_tasks 使用 when 进行条件判断时,when 对应的条件会被应用于 include 文件中的每一个任务,意思是每要执行一个任务时,都要先进行条件判断。总结起来就是顺序执行 include 文件中列出的每一个任务前,都要进行条件判断,满足条件就执行,不满足就跳过,需要多次判断。 当对 include_tasks 使用 when 进行条件判断时,when 对应的条件只应用一次,发生在是否include这个文件,若include,则执行这个include文件中所有的任务,不再进行其他判断。

相同的还有 tag,在静态联编中才会被打开。

使用 loop 或 with_items 关键字对 include 文件进行循环操作时,只能配合 include_tasks。

这个也是属于编译特性的东西,只有动态联编才能对未来传参。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-03-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 辨析 ansible 之 import 和 include
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档