Drupal Continuous Integration and Condinuous Delivery - boyond DevOps and Jenkins. Our Journey from configuration management using chef to 10 steps of best practices of Drupal CI/CD
6. WE PROVIDE SOLUTIONS WITH MEASURABLE RESULTS
BRAND CHARACTER
5
Promet Source revolves around customer satisfaction and providing dynamic solutions returning,
real measurable results. We don't just work for our clients, we work with our clients as a seamless extension of
their team. Our core focus is to inspire with our strategy and deliver groundbreaking results with our approach.
7. SERVICES SOLUTIONS
THE ROADMAP TO RESULTS
6
1. DISCOVERY
You must identify your resources before you can
leverage them. Promet’s Discovery phase takes a
look at your brand’s technical and creative assets
through the lens of user-centric design.
2. DESIGN
There are many paths to connect with your users:
on desktop, mobile and any place in between. The
right path should meet users without resistance
and be responsive to their needs. This is the core
of user-centric design,and Promet’s approach to
Design identifies the right path before
embarking
on the journey.
3. DEVELOPMENT
Build something memorable. Promet is the
champion of complex web development
projects that require custom code, custom
module development, custom APIs,
migrations, sophisticated integrations
and more. Working with Promet’s
Development team allows your brand
to build digital properties that won’t
fade into the background.
4. SUPPORT
Your website or app is a living,
evolving entity. Keep its growth and
security on track by working with
Promet’s dedicated
Support team.
FOR TARGET INDUSTRY
Promet understands that Drupal is the ideal
solution for clients that need donation and
membership management tools built into their
website. Promet has built countless solutions for
Governmental, Higher Education, Association and
Nonprofit clients using
this knowledge.
FOR TARGET RESULT
Grow your donor base or enhance your
lead generation pipeline. Promet’s
solutions are fed by our deep understanding of
eCommerce implementations and automated
marketing systems integration within Drupal.
11. Goal
There should be two tasks for a
human being to perform to
deploy software into a
development, test, or production
environment: to pick the version
and environment and to press
the “deploy” button.
Humble, Jez; Farley, David (2010-07-27). Continuous Delivery:
Reliable Software Releases through Build, Test, and Deployment
Automation (Adobe Reader) (Addison-Wesley Signature Series
(Fowler)) (pp. 5-6). Pearson Education. Kindle Edition.
10
12. Common Antipatterns
• Deploying Software Manually
• Deploying to a Production-like environment Only after
Development is Complete
• Manual Configuration Management of Production
Environments
11
14. Principles of Software Delivery
• Create a Repeatable, Reliable Process for Releasing
Software
• Automate Almost Everything
• Keep Everything in Version Control
• If it Hurts, Do it more frequently and bring the pain
forward
• Build Quality In
• Everyone is Responsible for the Delivery Process
• Continuous Improvement
13
22. Local Development Development Staging Production
Code Base Code Base Code Base Code Base
Code Moves Upstream (version control tools)
Content/Data Moves Downstream (migration tools)
Files Move Downstream (file copy / sync tools)
Our Processes for Drupal Development and Operations = Faster and More Reliable Deployments
Code-driven development > Complete site managed and built from code
Automated application infrastructure in code > Same configuration used across all environments
Automated site builds, testing and monitoring > Better feedback provided early and often
Vagrant Features Git
Ansible Drush Gitflow
AWS Acquia Private Cloud
Rackspace Pantheon Internal Servers
We develop locally with: We deploy to hosting with:
Deploy Deploy Deploy
We Follow Best Practices for Development and Operations
Database Files Database Files Database Files Database Files
21
25. CI Principles
Continuous Integration 10 Principles
1. Revision Control
2. Build Automation
3. Automate Deployment
4. Self-Testing Build
5. Testing in a Clone of Production
6. Frequent Commits
7. Code Consolidation
8. Fast Builds
9. Build Availability
10. Test Result Availability
24
26. Version Control
software— in particular, to how we use version control and how we organize our code. Developers
should commit changes to their version control system frequently, and split code into separate
components as a way of managing large or distributed teams. Branching should, in most
Humble, Jez; Farley, David (2010-07-27). Continuous Delivery: Reliable Software Releases through
Build, Test, and Deployment Automation (Addison-Wesley Signature Series (Fowler)) (Kindle
Locations 881-883). Pearson Education. Kindle Edition.
Version control triggers builds at Promet
25
29. Agility and Communication in Action
We follow an agile methodology—the industry standard—to manage your web development,
which guarantees fast concept-to-market delivery through short development sprints.
This method allows us to receive feedback from our customers early and often,
while adjusting the scope and direction of the project accordingly.
28
Product Backlog
Sprint Backlog
2 Weeks
Application
30. CI
1. Revision Control
2. Build Automation
3. Automate Deployment
4. Self-Testing Build
5. Testing in a Clone of Production
6. Frequent Commits
7. Code Consolidation
8. Fast Builds
9. Build Availability
10. Test Result Availability
29
41. Thank You
40
CHICAGO, ILLINOIS
1802 W. Berteau Ave. / Suite 209 / Chicago IL, 60613
773-525-8255
www.prometsource.com
@prometsource @akucharski
@johnniefox