我需要在开发环境中删除一些文件(例如使用Vagrant时)但不在生产环境中。我想在开发时禁用firewalld
,但不在生产中。我希望在开发时禁用selinux
,但不要在生产时禁用。
这样做的最佳做法是什么?我想在开发环境(使用Vagrant)和生产中使用我的木偶脚本。
答案 0 :(得分:4)
使用特定于环境的脚本不是一个好习惯。相反,您应该拥有基于环境行为不同的脚本。让我来告诉你怎么做;为此,您需要执行两个步骤:
您必须定义环境 - 我建议基于目录的环境(因为最终会丢弃基于配置的环境支持)。如何设置环境是一个私密的主题,我建议你查看documentation
假设您已经定义了dev,qa,uat,prod等环境。您可以使用<meta name="viewport" content="width=device-width, initial-scale=1.0">
变量获取当前环境的名称。您的清单应该利用环境变量来决定应该启用/禁用防火墙的天气等。例如:
(根据Felix的评论修改,谢谢@Felix)
$environment
如果include profile::webserver
if $environment != 'dev'
include profile::firewall
与&#34; dev&#34;不匹配,则在上面的代码中只有这样才能应用防火墙角色!