配置環境 (在代理環境中)

New in version 1.1.

你完全有可能遇到一些更新包需要通過proxy才能正常獲取,或者甚至一部分包需要通過proxy升級而另外一部分包則不需要通過proxy.或者可能你的某個指令碼需要呼叫某個環境變數才能正常執行.

Ansible 使用 ‘environment’ 關鍵字對於環境部署的配置非常簡單容易,下面是一個使用案例:

- hosts: all
  remote_user: root

  tasks:

    - apt: name=cobbler state=installed
      environment:
        http_proxy: http://proxy.example.com:8080

environment 也可以被儲存在變數中,像如下方式訪問:

- hosts: all
  remote_user: root

  # here we make a variable named "proxy_env" that is a dictionary
  vars:
    proxy_env:
      http_proxy: http://proxy.example.com:8080

  tasks:

    - apt: name=cobbler state=installed
      environment: proxy_env

雖然上面只展示了 proxy 設定,但其實可以同時其實支援多個設定. 大部分合合乎邏輯的地方來定義一個環境變數都可以成為 group_vars 檔案,示例如下:

---
# file: group_vars/boston

ntp_server: ntp.bos.example.com
backup: bak.bos.example.com
proxy_env:
  http_proxy: http://proxy.bos.example.com:8080
  https_proxy: http://proxy.bos.example.com:8080

See also

Playbooks
An introduction to playbooks
User Mailing List
Have a question? Stop by the google group!
irc.freenode.net
#ansible IRC chat channel