官方开发文档
http://docs.ansible.com/ansible/dev_guide/index.html
非常推荐大家看官方文档
环境
本次所用的环境
- ansible
2.3.0.0
- os
Centos 6.7 X64
- python
2.6.6
介绍
Ansible 开发分为两大模块,一是modules
,而是plugins
。
首先,要记住这两部分内容在哪个地方执行?
modules
文件被传送到远端主机并执行。plugins
是在ansible服务器上执行的。
再者是执行顺序?
plugins
先于 modules
执行。
然后大家明确这两部分内容是干啥用的?
modules
是ansible的核心内容,它使playbook变得更加简单明了,一个task就是完成某一项功能。ansible模块是被传送到远程主机上运行的。所以它们可以用远程主机可以执行的任何语言编写modules。plugins
是在ansible主机上执行的,用来辅助modules做一些操作。比如连接远程主机,拷贝文件到远程主机之类的。
ansible执行ping模块的过程。
图片看不清,移步http://upload-images.jianshu.io/upload_images/3629406-cdde75580732a013.jpg
如果想要源文件,请加入QQ群425931784,至群文件下载。
github
所有的脚本文件,插件,模块都会放在这个仓库中。
https://github.com/lework/Ansible-dev
调试
modules 开发
- Ansible 开发模块 之【模块说明】
- Ansible 开发模块 之【构建一个简单的module】
- Ansible 开发模块 之【添加module的文档说明】
- Ansible 开发模块 之【使用其他语言写module】
- Ansible 开发模块 之【module的返回值】
- Ansible 开发模块 之【连接华为交换机】
- Ansible 开发模块 之【企业微信通知】
plugins 开发
- Ansible 开发插件之【插件说明】
- Ansible 开发插件之【callback】
- Ansible 开发Callback插件之【mail】
- Ansible 开发Callback插件之【BlackHole】
- Ansible 开发插件之【动态主机清单】
- Ansible 开发Filters插件之【split】
- Ansible 开发Action插件之【le_copy】