| # Setting Up Ansible with Cygwin |
| |
| Running Ansible commands from within Windows is unsupported at the time |
| of this writing. However, windows users can setup Ansible with Cygwin. |
| |
| # Installation Steps |
| Here are steps to getting Ansible (and it's related commands, like |
| ansible-playbook) running on Windows: |
| Download and install [Cygwin](http://cygwin.com/install.html), with at |
| least the following packages selected (you can select the packages |
| during the install process): |
| |
| * curl |
| * python (2.7.x) |
| * python-jinja |
| * python-crypto |
| * python-openssl |
| * python-setuptools |
| * git |
| * vim |
| * openssh |
| * openssl |
| * openssl-devel |
| * wget |
| * gcc-core |
| * gcc-g++ |
| * python2-devel |
| * python2-cython |
| * make |
| * libffi-devel |
| |
| # Working Behind a Proxy |
| If you are working behind a proxy (as is the case in many corporate |
| networks), edit the .bash_profile used by Cygwin either using vim (open |
| Cygwin and enter vim .bash_profile), or with whatever editor you'd like, |
| and add in lines like the following: |
| |
| export http_proxy=http://username:password@proxy-address-here:80/ |
| export https_proxy=https://username:password@proxy-address-here:80/ |
| |
| # Download and Install PyYAML and Jinja2 Separately |
| Download and install separately PyYAML and Jinja2 separately, as they're |
| not available via Cygwin's installer: |
| |
| ## Open Cygwin |
| |
| #### Download PyYAML |
| |
| curl -O https://pypi.python.org/packages/source/P/PyYAML/PyYAML-3.10.tar.gz |
| |
| #### Download Jinja2 |
| |
| curl -O https://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.6.tar.gz |
| |
| #### Untar both downloads |
| |
| tar -xvf PyYAML-3.10.tar.gz && tar -xvf Jinja2-2.6.tar.gz |
| |
| ### Change directory into each of the expanded folders and run `python setup.py install` to install each package. |
| |
| ### Generate an SSH key for use later: `ssh-keygen` then hit enter to skip adding a password until you get back to the command prompt. |
| |
| ### Clone ansible from its repository on GitHub: |
| |
| git clone https://github.com/ansible/ansible /opt/ansible |
| |
| ### Add the following lines into your Cygwin .bash_profile after the proxy settings you added previously: |
| |
| # Ansible Settings |
| ANSIBLE=/opt/ansible |
| export PATH=$PATH:$ANSIBLE/bin |
| export PYTHONPATH=$ANSBILE/lib |
| export ANSIBLE_LIBRARY=$ANSIBLE/library |
| |
| ### Restart Cygwin and verify that `ansible --version` displays the ansible version. |
| |
| # Configuring Pip on Cygwin |
| Pip does not work by default on Cygwin. Please follow these steps to enable pip: |
| |
| python -m ensure pip |
| |
| |
| # Reference |
| [Running Ansible within Windows](https://www.jeffgeerling.com/blog/running-ansible-within-windows) |