The ansible-container shipit command generates an Ansible role for deploying your app to the cloud. The role is created based on the configuration found in container.yml

--roles-path LOCAL_PATH

New in version 0.2.0

If you have Ansible roles in a local path other than your ansible/ directory that you wish to use during your build/run/shipit, specify that path with this option.

Immediately after shipit specify the cloud service provider. See the Engine Index for the supported shipit engines. For example, to execute shipit with the Kubernetes engine:

$ ansible-container shipit kube

When shipit executes it adds a roles directory and playbook to the ansible directory, and within the roles directory it creates an Ansible role. The role name will be in the format <project_name>-<shipit_engine>. The playbook name will be in the format shipit-<shipit_engine>.yml.

Subsequent playbook runs will leave the playbook and all of the role files untouched with the exception of tasks/main.yml. Each run will create a new tasks playbook. However, each run will also save the previous main.yml file by appending a timestamp to the file name. If you make changes to the tasks playbook and then run shipit, your changes will not be lost. They will exist in the most recent timestamped file.


Execution of the role created by shipit depends on Ansible 2.0 or greater. Check the specific shipit engine for any additional dependencies.

Engine Index