"A re-usable Ansible role to deploy projects".
When deploying software to production, it pays to have an automated process in place. This presentation describes a workflow to deploy your project (those familiar with Capistrano wil recognize this method), and then takes you step by step through an Ansible role that you can simply implement in your own ansible scripts.
10. THE PROBLEM
• Continuous deployment
• Easy maintenance of the deploy procedure.
• Small learning curve.
10
11. THE PROBLEM
• Continuous deployment
• Easy maintenance of the deploy procedure.
• Small learning curve.
• Reuse between projects with little effort.
11
12. WHAT IS A DEPLOY?
Directory structure:
.
!"" releases
| !"" 20140415234508
| #"" 20140415235146
!"" shared
| !"" sessions
| !"" source
| #"" uploads
#"" current -> releases/20140415235146
12
13. WHAT IS A DEPLOY?
Directory structure:
.
!"" releases
| !"" 20140415234508
| #"" 20140415235146
!"" shared
| !"" sessions
| !"" source
| #"" uploads
#"" current -> releases/20140415235146
13
14. WHAT IS A DEPLOY?
1. Update the codebase + configuration
14
15. WHAT IS A DEPLOY?
1. Update the codebase + configuration
2. Install dependencies
15
16. WHAT IS A DEPLOY?
1. Update the codebase + configuration
2. Install dependencies
3. Preserve shared resources
16
17. WHAT IS A DEPLOY?
1. Update the codebase + configuration
2. Install dependencies
3. Preserve shared resources
4. Build tasks
17
18. WHAT IS A DEPLOY?
1. Update the codebase + configuration
2. Install dependencies
3. Preserve shared resources
4. Build tasks
5. Finalize
18