Rails Continuous Delivery

Stack & Plan

Continuous Delivery

Requirements -> Go live -> After Live -> Requirements -> ...

Differences between CD/CD?

CD: Continuous Deployment

High frequency

High investment

High capability

How?

Test First

RSpec: unit / spec

*Minitest: unit / spec / mock / benchmark

Capybara: acceptance test for web application

TDD is your friend

Non-Functional Test

Deployment/Performance/Security

Environments

Dev -> Prod

Environments

Prod A:   Dev -> CI -> Staging

                                                   

Prod B:   Dev -> CI -> Staging      -> QA/Showcase/E2E -> Production

 

Prod C:   Dev -> CI -> Staging

 

                      ......

From the cloud, To the cloud

CI as Core

Essentials

1. Run CI Once you commit any changes

2. Never go home until CI all passed

More than CI: Pipelines

Pipelines

UT/FT/Package -> Staging -> QA/Showcase/E2E -> Production

Capistrano

Thoughts

Thoughts +

Rails Continuous Delivery

By hanyi8000

Rails Continuous Delivery

  • 1,209