• Compile your application code. Getting the latest version of
any recent code changes from other developers is purely
optional and not a requirement for certification.
• Launch the application or website that has just been
• Cause one code path in the code you're checking in to be
executed. The preferred way to do this is with ad-hoc
manual testing of the simplest possible case for the feature
in question. Omit this step if the code change was less than
five lines, or if, in the developer's professional opinion, the
code change could not possibly result in an error.
• Check the code changes into your version control system.
The provisioning tool
• It configures the machine (installs stuff, push
config files, etc.)
– … ?
The deployment tool
• It pushes the project on the server (&
configures it, runs migration, clears caches, …)
– Capistrano (and it can deploy non ruby
– Two ways informations transferts (DB sync, logs…)
• Don’t: Make snowflake VM : you become
dependant of the VM management tool
• Do: Separate provisioning
• Don’t: Use Vagrant default SSH key in
• Don’t: Separate dev & ops
• Don’t: Try to eliminate admin sys (you need
• Do: Use same environment for Dev/test/prod