Chad Nelson - Application Developer @ Lyrasis Digital
Tool for automating application configuration & deployment
DevOps for Humans
Reusable
Faster
Auditable
Documentation
Reusable - Exmples from Lyrasis. Same "play" build Production, Preprod/User acceptance, Staging, and local dev in vagrant box. Faster - "It should take less time to rebuild aserver than to log in and fix it" http://www.slideshare.net/geerlingguy/devops-for-humans-ansible-for-drupal-deployment-victory It Does all of the Yak shaving for you, every time! Auditable - lear tril of exactly what happened and when.Simplicity
Language Neutral
Agentless
Excellent Documentation
Batteries Included
Tasks
Roles
Plays
Inventory
- name: Install php5 and drupal dependencies
apt: name={{ item }} state=present
with_items:
- php5
- php5-mysql
- libapache2-mod-php5
sudo: yes
- name: Enable the devel module when dev variable is True
shell: drush pm-enable devel
when: dev is True
Tasks
Templates
Defaults
- name: Install Drupal
hosts: webserver
remote_user: conan_the_deployer
roles:
- drupal
- name: Setup Tomcat where required
hosts: tomcat
remote_user: conan_the_deployer
roles:
- ansible-oracle_java7-role
- tomcat
[webserver] web1.lyrasistechnology.org web2.lyrasistechnology.org [fedora] fedora.lyrasistechnology.org [solr] solr.lyrasistechnology.org [tomcat:children] fedora solr [all:vars] dev=True
Group Variables
Host Variables
Defaults
- name: apply firewall rules
ufw: rule=allow proto=tcp port={{ item.port }}
src={{ item.source }} delete={{ item.remove }}
with_items: firewall
# group_vars/database
firewall:
-
port: 22
source: any
remove: "no"
-
port: 3306
source: 10.0.0.0/8
remove: "no"
# group_vars/tomcat
firewall:
-
port: 22
source: any
remove: "no"
-
port: 8080
source: 10.0.0.0/8
remove: "no"
chad.nelson at lyrasis.org