gpt4 book ai didi

ansible - 如何在 Ansible 中从另一个角色中调用一个角色?

转载 作者:行者123 更新时间:2023-12-02 10:34:24 24 4
gpt4 key购买 nike

我的剧本运行角色列表:

roles:
- common
- postgres
- nginx
- supervisord
- { role: deploy_app, app_name: myapp }
- { role: deploy_app, app_name: otherapp }

我还有另一个角色 celery,我只想在使用 deploy_app 创建名为 myapp 的应用时运行。我想我应该将参数传递给角色,如下所示:

- { role: deploy_app,  app_name: myapp, celery: yes }

然后在我的 deploy_app 角色中,我将使用 when 条件:

- name: create celery worker for application
<RUN ROLE HERE>
when: '{{ celery }}' == 'yes'

如何有条件地从任务列表中运行角色?

最佳答案

我认为ansible depenencies会在这里有所帮助。只需创建一个/meta/main.yml 在您的角色中,包含以下内容:

---
dependencies:
- { role: celery, tags: ["sometag"], when: "celery == 'yes'" }

关于ansible - 如何在 Ansible 中从另一个角色中调用一个角色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22078333/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com