我使用类似Puppet/Chef/Ansible这样的工具来设置和配置开发环境和生产服务器。
每当我更新配置时,我会对我的开发环境运行该工具,并手动登录以检查是否按预期工作。
但这是一件繁琐的事情,而且我不能每次都测试所有内容,那么有没有办法可以自动化测试呢?
每当我更新配置时,我会对我的开发环境运行该工具,并手动登录以检查是否按预期工作。
但这是一件繁琐的事情,而且我不能每次都测试所有内容,那么有没有办法可以自动化测试呢?
这方面有基础设施测试框架:
yaml
写成。自动化:
所以你需要做的是选择框架,编写测试并针对模拟虚拟机运行您的playbooks/recipes和测试。
理想情况下,您应该将“基础设施即代码”保留在vcs中,并像TravisCI一样配置ci,以便在您将新更改带入存储库时为每个PR运行测试。 您甚至可以在这里遵循tdd:首先编写测试,使其失败,然后在您喜欢的配置管理工具中编写实际实现,并查看该更改是否使测试变为绿色/通过。如果您能告诉我们您想测试什么,我们可以更好地帮助您。
但是, 您是否检查了dry-run模式?我认为,Puppet和Ansible都支持它,您可以有一个cron或一些自动化脚本来运行所有的puppet/ansible模块针对单个(测试)节点。
更多信息:
1. http://docs.ansible.com/ansible/playbooks_checkmode.html
2. 请检查https://docs.puppet.com/puppet/latest/reference/man/agent.html中的noop模式