是否可以根据某些条件(即另一个变量的值)更改角色变量的默认值?
我有一个命令的两个相关变量,env
和composer_opts
.
如果两者都保留为默认值(env = "prod"
和composer_opts = "--no-dev"
),则一切正常。
如果我更改env
为dev
,另一个的默认值会破坏我的命令,所以我总是需要同时设置两者。是否可以通过使用自定义脚本/if 设置条件默认值来避免这种情况?
重要提示:我不想总是设置composer_opts
根据该值env
的价值。我只想在尚未设置的情况下设置它(即动态默认值)。
我想做这样的事情(以下代码无效,只是表达我需要的伪代码)
---
# defaults/main.yml
env: prod
composer_opts:
when: "{{env}}" = 'prod'
'--no-dev --optimize-autoloader --no-interaction'
when: "{{env}}" = 'dev'
''
Run Code Online (Sandbox Code Playgroud) 简而言之:如何在多个 php-fpm 池中包含相同的设置而不为每个池重复它们?
在 php5-fpm 中有全局指令和每个池指令。在所有示例和文档中,每个池都有所有必需的设置,例如
[www]
user = $pool
group = $pool
listen = 127.0.0.1:9001
listen.owner = $pool
listen.group = $pool
pm = ondemand
pm.max_children = 5
pm.process_idle_timeout = 30s
chdir = /var/www/$pool
[www2]
user = $pool
group = $pool
listen = 127.0.0.1:9002
listen.owner = $pool
listen.group = $pool
pm = ondemand
pm.max_children = 5
pm.process_idle_timeout = 30s
chdir = /var/www/$pool
Run Code Online (Sandbox Code Playgroud)
如您所见,大多数配置都是相同的,所以我想知道是否有办法将该配置放在所有池都可以隐式或显式包含它们的地方。
将它们放在该[Global]
部分的底部是行不通的。
谢谢你的任何建议。