Ansible
Overview
Execute Ansible playbooks within a pipeline.
Tools Section
| Name | Required | Type | Default | Description | 
|---|---|---|---|---|
| buildImage | Required | String | Docker image that has Ansible installed. | |
| playbook | Required | String | Path to the playbook file used during this run. | |
| inventory | Required | String | Path to an inventory file to run the playbook against. | |
| limit | Optional | String | Equivalent to -l or --limit only run against specific host groups. | 
|
| sudoUser | Optional | String | root | 
Equivalent to --become-user. | 
| credentials | Optional | Map | Key/Value pair of the credentials to use when running the playbook. | |
| extraVars | Optional | Map | equivalent to -e or --extra-vars overwrite variables. | 
|
| tags | Optional | List | Run only specific tags during the playbook run. | |
| skippedTags | Optional | List | Skip the specified tags during the playbook run. | |
| extras | Optional | List | Additional arguments to the ansible-playbook command. | 
|
| sudo | Optional | Boolean | False | 
Equivalent to -b or --become. | 
| forks | Optional | int | 10 | 
Equivalent to -f or --forks specify number of parallel processes to use. | 
| verbosity | Optional | int | Levels of verbose output to have. Example setting this to 2 would be the equivalent of -vv. | 
Available Methods
playbook
Execute an Ansible playbook.
| Name | Required | Type | Default | Description | 
|---|---|---|---|---|
| buildImage | Required | String | Docker image that has Ansible installed. | |
| playbook | Required | String | Path to the playbook file used during this run. | |
| inventory | Required | String | Path to an inventory file to run the playbook against. | |
| limit | Optional | String | Equivalent to -l or --limit only run against specific host groups. | 
|
| sudoUser | Optional | String | root | 
Equivalent to --become-user. | 
| credentials | Optional | Map | Key/Value pair of the credentials to use when running the playbook. | |
| extraVars | Optional | Map | equivalent to -e or --extra-vars overwrite variables. | 
|
| tags | Optional | List | Run only specific tags during the playbook run. | |
| skippedTags | Optional | List | Skip the specified tags during the playbook run. | |
| extras | Optional | List | Additional arguments to the ansible-playbook command. | 
|
| sudo | Optional | Boolean | False | 
Equivalent to -b or --become. | 
| forks | Optional | int | 10 | 
Equivalent to -f or --forks specify number of parallel processes to use. | 
| verbosity | Optional | int | Levels of verbose output to have. Example setting this to 2 would be the equivalent of -vv. | 
playbook Example
branches:
  feature:
    steps:
      - ansible:
          # Simple
          - playbook:
          # Advanced
          - playbook:
              playbook: scripts/ansible/example-playbook.yml
              extraVars:
                DOCKER_IMAGE: "{{ DOCKER_IMAGE_TAG }}"
              limit: qa
Full Example Pipeline
pipelines:
  tools:
    ansible:
      credentials:
        description: "SSH deploy credentials"
      buildImage: "{{ quay_uri }}/da-workflow/ansible-alpine:2.4.1.0"
      playbook: "ansible/playbooks/app_deploy.yml"
      inventory: "ansible/app_inventory.yml"
    branches:
      patterns:
        master: master
        develop: develop
        feature: .+
  branches:
    feature:
      steps:
        - custom: # This should be your build process
          - buildPackage:
        - ansible:
          - playbook:
              limit: staging
    master:
      steps:
        - github:
          - createRelease:
        - ansible:
          - playbook:
              limit: production