1
0
Fork 0
mirror of https://github.com/dawidd6/action-ansible-playbook.git synced 2024-12-22 12:19:58 +00:00
⚙️ A GitHub Action for running Ansible playbooks
Find a file
2024-01-28 17:45:51 +01:00
.github Introduce optional support for ansible.cfg (#88) 2024-01-17 10:06:09 +01:00
node_modules node_modules: upgrade 2024-01-17 10:08:10 +01:00
test Introduce optional support for ansible.cfg (#88) 2024-01-17 10:06:09 +01:00
action.yml action: node20 (#90) 2024-01-28 17:45:51 +01:00
LICENSE init 2020-03-21 17:06:40 +01:00
main.js Introduce optional support for ansible.cfg (#88) 2024-01-17 10:06:09 +01:00
package-lock.json node_modules: upgrade 2024-01-17 10:08:10 +01:00
package.json build(deps): bump yaml from 2.3.3 to 2.3.4 (#85) 2024-01-17 10:06:35 +01:00
post.js Introduce optional support for ansible.cfg (#88) 2024-01-17 10:06:09 +01:00
README.md Introduce optional support for ansible.cfg (#88) 2024-01-17 10:06:09 +01:00

Run Ansible playbook GitHub Action

An Action that executes given Ansible playbook on selected hosts.

Should work on any OS, if ansible-playbook command is available in PATH.

Usage

- name: Run playbook
  uses: dawidd6/action-ansible-playbook@v2
  with:
    # Required, playbook filepath
    playbook: deploy.yml
    # Optional, directory where playbooks live
    directory: ./
    # Optional, ansible configuration file content (ansible.cfg)
    configuration: |
      [defaults]
      callbacks_enabled = ansible.posix.profile_tasks, ansible.posix.timer
      stdout_callback = yaml
      nocows = false      
    # Optional, SSH private key
    key: ${{secrets.SSH_PRIVATE_KEY}}
    # Optional, literal inventory file contents
    inventory: |
      [all]
      example.com

      [group1]
      example.com      
    # Optional, SSH known hosts file content
    known_hosts: |
      example.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl      
    # Optional, encrypted vault password
    vault_password: ${{secrets.VAULT_PASSWORD}}
    # Optional, galaxy requirements filepath
    requirements: galaxy-requirements.yml
    # Optional, additional flags to pass to ansible-playbook
    options: |
      --inventory .hosts
      --limit group1
      --extra-vars hello=there
      --verbose