Ansible for Automation!

2:45:48

What you'll be learning

This tutorial is built using an older version of Symfony, but the core concepts of Ansible are still valid. New versions of Ansible may contain some features that we don't use here.
// composer.json
{
    "require": {
        "php": ">=5.5.9",
        "symfony/symfony": "3.1.*", // v3.1.4
        "doctrine/orm": "^2.5", // v2.7.2
        "doctrine/doctrine-bundle": "^1.6", // 1.6.4
        "doctrine/doctrine-cache-bundle": "^1.2", // 1.3.0
        "symfony/swiftmailer-bundle": "^2.3", // v2.3.11
        "symfony/monolog-bundle": "^2.8", // 2.11.1
        "symfony/polyfill-apcu": "^1.0", // v1.2.0
        "sensio/distribution-bundle": "^5.0", // v5.0.12
        "sensio/framework-extra-bundle": "^3.0.2", // v3.0.16
        "incenteev/composer-parameter-handler": "^2.0", // v2.1.2
        "doctrine/doctrine-migrations-bundle": "^1.2", // v1.2.0
        "snc/redis-bundle": "^2.0", // 2.0.0
        "predis/predis": "^1.1" // v1.1.1
    },
    "require-dev": {
        "sensio/generator-bundle": "^3.0", // v3.0.8
        "symfony/phpunit-bridge": "^3.0", // v3.1.4
        "doctrine/data-fixtures": "^1.1", // 1.3.3
        "hautelook/alice-bundle": "^1.3" // v1.4.1
    }
}

In this screencast, we automate provision of Linux server with a wonderful automation tool named Ansible and explore the most fundamental parts of this process:

  • Configuring an entire Vagrant host for a web (Symfony) app
  • Provision hosts with Ansible
  • Inventory files
  • All about Ansible modules
  • Playbooks, plays, tasks
  • Variables and facts
  • Handlers
  • Conditionals and tags
  • Jinja2 templates (functions, filters, loops, variables, etc.)
  • Roles
  • Prompt input
  • Debugging
  • Deploying to EC2
  • Ansible Vault, for secret stuff

Are you ready to start adding some automation to your daily workflow?


Your Guides

Victor Bocharsky Ryan Weaver

Buy Access

Questions? Conversation?