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