2014-01-29 65 views
0

我正在使用Ansible爲我的Ruby on Rails應用程序提供環境。Ansible - 預處理ERB模板

我想知道天氣是否有可能在完整拷貝之前預處理我的ERB模板?什麼是解決這個問題的最好方法?

的最終目標是有東西的模板是這樣的:

my_template.conf.erb

timeout: 2000 
secret_key: <%= ENV['THE_SECRET_KEY'] %> 

任何提示,將不勝感激。

回答

0

是的。

您必須使用與erb模板非常相似的jinja2模板。

my_template.conf.j2

timeout: 2000 
secret_key: {{ secret_key }} 

在你的劇本,將是這樣的:

- name: Template config 
    hosts: all 
    user: myuser 
    sudo: True 
    tags: mytag 

    vars: 
    - secret_key: "{{ lookup('env','THE_SECRET_KEY') }}" 

    tasks: 
    - name: Do template substitution 
     template: src=templates/my_template.conf.j2 dest=/etc/myapp/myconf.conf owner=root group=root mode=0644