While it's true that continuous delivery requires serious cultural changes, you also have to think about the toolkit you'll use to create your CD pipeline. This presentation, excerpted from our new ebook, Continuous Delivery: What It Is and How to Get Started, explains the "why" and "what" of building your CD toolkit.
2. You’re Doing Continuous Delivery When:
•
Your software is deployable throughout its lifecycle
•
Your team prioritizes keeping the software deployable over working
on new features
•
Anybody can get fast, automated feedback on the production readiness
of their systems any time somebody makes a change to them
•
You can perform push-button deployments of any version of the
software to any environment on demand
— Martin Fowler
3. Continuous Delivery Requires Cultural Change
•
You’ll start thinking about working as one team, not siloed departments
•
You’ll start thinking in terms of shared responsibility
•
You’ll start thinking about errors differently
4. Continuous Delivery Is a Set of Practices,
Not a Set of Tools
•
Automation
•
Frequent Releases
•
Automated Testing
5. ... But You Need to Think About Your Tools, Too
•
Monitoring
•
Continuous Integration
•
Version Control
•
Code Review
•
Configuration Management
•
Orchestration
•
Dashboards
6. Monitoring
If you’re going to pick one tool to start
with, make it a monitoring tool.
Rather than talking about whether
it feels like testing is going better,
monitoring gives the team data that
show whether performance
is improving — or deteriorating.
Graphite
Logstash
Nagios
Splunk
7. Continuous Integration
Jenkins
Hudson
Bamboo
CruiseControl
Catch bugs while they’re small, and
easier to trace and fix.
A CI tool regularly checks the version
control system for changes to the
application, builds the application, and
runs automated tests on each build.
It also provides reports on whether
each build passed or failed the tests.
8. Code Review
Note which changes are acceptable,
and which are not.
A code review tool enables you
to step through a proposed change
to your codebase and see what the
differences are.
!
Stash
Gerrit
9. Git
Subversion
Perforce
Mercurial
Version Control
Version control is the heart of
continuous integration
Devs
Keep a record of all tests, scripts,
documentation and configuration files
Ops
Record the configuration of your
infrastructure across different
environments
10. Configuration
Management
Keep environments consistent,
all the way from the developer’s
laptop to production.
Configuration management allows
you to set the configuration for
every resource your application
will use, then copy that configuration
to more servers, virtual machines,
switches, routers and storage servers
as you scale.
11. Orchestration
Once your environment is configured, you
may need to roll out changes, updates or
complete applications
in a specific order.
Orchestration tools vastly reduce the
possibility of human error, and make
it possible to scale far beyond what
people could do manually.
!
12. Dashboards
Continuous delivery isn’t
a one-person show.
A dashboard should display the
status of your test environment and
production environment. It should
show the status of every node, physical
and virtual.
!
Bamboo
Jenkins
Go
13. Tools Are Just Part of the Picture!
Ready to Get Started?
Download Continuous Delivery:
What It Is and How to Get Started,
by Puppet Labs
Download Now