How to create a file locally with ansible templates on the development machine

后端 未结 3 2182
南旧
南旧 2021-02-18 14:18

I\'m starting out with ansible and I\'m looking for a way to create a boilerplate project on the server and on the local environment with ansible playbooks.

I want to us

相关标签:
3条回答
  • 2021-02-18 14:37

    Ansible has a local_action directive to support these scenarios which avoids the localhost and/or ansible_connection workarounds and is covered in the Delegation docs.

    To modify your original example to use local_action:

    - name: create some file
        local_action: template src=~/workspace/ansible_templates/somefile_template.j2 dest=/etc/somefile/apps-available/someproject.ini
    

    which looks cleaner.

    0 讨论(0)
  • 2021-02-18 14:41

    If you cannot do/allow localhost SSH, you can split the playbook on local actions and remote actions.

    The connection: local says to not use SSH for a playbook, as shown here: http://docs.ansible.com/ansible/playbooks_delegation.html#local-playbooks

    Example:

    # myplaybook.yml
    
    - hosts: remote_machines
      tasks:
      - debug: msg="do stuff in the remote machines"
    
    - hosts: 127.0.0.1
      connection: local
      tasks:
      - debug: msg="ran in local ansible machine"
    
    - hosts: remote_machines
      tasks:
      - debug: msg="do more stuff in remote machines"
    
    0 讨论(0)
  • 2021-02-18 15:02

    You can delegate tasks with the param delegate_to to any host you like, for example:

    - name: create some file
      template: src=~/workspace/ansible_templates/somefile_template.j2 dest=/etc/somefile/apps-available/someproject.ini
      delegate_to: localhost
    

    See Playbook Delegation in the docs.

    If your playbook should in general run locally and no external hosts are involved though, you can simply create a group which contains localhost and then run the playbook against this group. In your inventory:

    [local]
    localhost   ansible_connection=local
    

    and then in your playbook:

    hosts: local
    
    0 讨论(0)
提交回复
热议问题