67 lines
1.5 KiB
Markdown
67 lines
1.5 KiB
Markdown
# Ansible development environment
|
|
|
|
Setup a machine to write Ansible roles. Includes:
|
|
- [ansible](https://github.com/ansible)
|
|
- [ansible-lint](https://github.com/ansible/ansible-lint)
|
|
- [molecule](https://molecule.readthedocs.io/en/latest/)
|
|
- [travis (cli)](https://github.com/travis-ci/travis.rb)
|
|
- [ara](https://github.com/openstack/ara)
|
|
|
|
## Download
|
|
|
|
### Mazer
|
|
|
|
```
|
|
mazer install robertdebock.ansible_development_environment
|
|
```
|
|
|
|
## Requirements
|
|
|
|
- One machine, about 4GB or RAM will do.
|
|
- Personalized `inventory/group_vars/all.yml`.
|
|
|
|
## Mac / Linux
|
|
|
|
Vagrant requires a different file for `Virtualbox` (typically Mac OS X) and `libvirt` (typically Linux).
|
|
|
|
For Virtualbox / Mac OS X:
|
|
|
|
```sh
|
|
rm Vagrantfile
|
|
ln -s Vagrantfile.virtualbox Vagrantfile
|
|
```
|
|
|
|
For libvirt / Linux:
|
|
|
|
|
|
```sh
|
|
rm Vagrantfile
|
|
ln -s Vagrantfile.libvirt Vagrantfile
|
|
```
|
|
|
|
Now change a few files:
|
|
|
|
- `files/gitconfig` should contain your details.
|
|
- `files/id_rsa` should contain an ssh-key used to commit to GitHub.
|
|
- `inventory/hosts` should contain your machine.
|
|
- `inventory/group_vars/all.yml` should contain your details.
|
|
|
|
## Install
|
|
|
|
Simply run `./playbook.yml`. Preparing your system will take about 15 minutes or so.
|
|
|
|
## Code
|
|
|
|
You are now ready to code! Have fun using these commands:
|
|
|
|
```sh
|
|
# See if your code meets all rules.
|
|
ansible-lint .
|
|
# Test all scenarios.
|
|
molecule test
|
|
# Test a specific scenario.
|
|
molecule test --scenario-name fedora-latest
|
|
```
|
|
|
|
You can see the playbook runs on https://localhost:9191/
|