小编Egi*_*jus的帖子

在以 playbook 为目标的 ansible 主机中使用变量

我正在尝试编写一个非常灵活的剧本,它根据主机所在的环境针对主机。我使用了尽可能多的变量,因此剧本可以以最小的更改重用于其他项目/环境。

我有一个 application.yml

---
- name: Prepare app-server for "The app"
  hosts: "{{'env'}}_super_app"
  vars:
  vars_files:
  - "environments/{{env}}.yml"
  sudo: yes
  tasks:
    - command: echo {{env}}
  roles:
    - common
    - nginx
    - php5-fpm
    - nodejs
    - newrelic
    - users
    - composer

- name: Install and configure mysql for "The super app"
  hosts:
  - "{{env}}_super_db"
  vars:
  vars_files:
  - "environments/{{env}}.yml"
  sudo: yes
  roles:
    - common
    - mysql
    - newrelic
Run Code Online (Sandbox Code Playgroud)

这是剧本目录结构:

??? environments
?   ??? prod.yml       << environment specific vars
?   ??? stag.yml       << environment …
Run Code Online (Sandbox Code Playgroud)

scope development-environment ansible

5
推荐指数
1
解决办法
3461
查看次数

标签 统计

ansible ×1

development-environment ×1

scope ×1