Ansible Playbooks
Created: 2016-02-22 16:56:38 -0800 Modified: 2016-02-23 12:08:06 -0800
Incredibly basic playbook to touch a file
Section titled Incredibly basic playbook to touch a file- hosts: botland
remote_user: adam
tasks:
- name: Test task
command: touch ~/test.txt
To get started with this, you can create a hosts file that has a “[botland]” group with a valid server IP in it. Then, you can run ansible-playbook foo.yml -i hosts
Create folders, copy files, install with NPM
Section titled Create folders, copy files, install with NPM- hosts: botland
vars:
homeDir: /home/adam
remote_user: adam
tasks:
- name: Create folder
file: path=~/this/is/a/test state=directory
- name: Upload payload
copy: src=/Ansible/payload.txt dest=/this/is/a/test
- name: Install package.json
npm: path={{ homeDir }}/code/test
Upload SSH key (with correct mode) and git pull
Section titled Upload SSH key (with correct mode) and git pullNote: the mode needs to be “600” so that only the owner has permissions to read/write. The leading 0 is to signify that it’s an octal number.
- hosts: botland
vars:
homeDir: /home/adam
remote_user: adam
tasks:
- name: Upload Bot Land Deploy Key
copy: src=/.ssh/bitbucket_botland_deploy_key dest=/.ssh/ mode=0600
- name: Git test
git: repo=git@bitbucket.org:onaimada/botlandinfra.git key_file={{ homeDir }}/.ssh/bitbucket_botland_deploy_key dest={{ homeDir }}/code/infra accept_hostkey=yes