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

New in version 1.1.

你完全有可能遇到一些更新包需要通过proxy才能正常获取,或者甚至一部分包需要通过proxy升级而另外一部分包则不需要通过proxy.或者可能你的某个脚本需要调用某个环境变量才能正常运行.

Ansible 使用 ‘environment’ 关键字对于环境部署的配置非常简单容易,下面是一个使用案例:

  1. - hosts: all
  2. remote_user: root
  3.  
  4. tasks:
  5.  
  6. - apt: name=cobbler state=installed
  7. environment:
  8. http_proxy: http://proxy.example.com:8080

environment 也可以被存储在变量中,像如下方式访问:

  1. - hosts: all
  2. remote_user: root
  3.  
  4. # here we make a variable named "proxy_env" that is a dictionary
  5. vars:
  6. proxy_env:
  7. http_proxy: http://proxy.example.com:8080
  8.  
  9. tasks:
  10.  
  11. - apt: name=cobbler state=installed
  12. environment: proxy_env

虽然上面只展示了 proxy 设置,但其实可以同时其实支持多个设置. 大部分合合乎逻辑的地方来定义一个环境变量都可以成为 group_vars 文件,示例如下:

  1. ---
  2. # file: group_vars/boston
  3.  
  4. ntp_server: ntp.bos.example.com
  5. backup: bak.bos.example.com
  6. proxy_env:
  7. http_proxy: http://proxy.bos.example.com:8080
  8. https_proxy: http://proxy.bos.example.com:8080

See also