Increase the velocity of your software releases by using continuous deployment driven by continuous delivery pipeline. After all, the goal of agile is to get code updates into the hands of your users fast and on a high frequency basis. This means installing all the way to production, not just staged for productio.
This webinar will show you an approach to achieving full continuous deployment using GitHub and DeployHub. You will learn how to declare your Application Package from your GitHub repository, manage approvals and deliver updates to environments across the CD pipeline from development through production.
GitHub and DeployHub work together to provide a complete DevOps process that results in a repeatable, consistent software releases process with a full continuous feedback loop.
Elevate Developer Efficiency & build GenAI Application with Amazon Q
Increase the Velocity of Your Software Releases Using GitHub and DeployHub
1. Release Automation Bliss
Increase the Velocity of Your Software
Release with GitHub and DeployHub
Presented by:
Christian Weber, Solutions Engineer, GitHub
Tracy Ragan, CEO, OpenMake Software
2. About the Presenters
CEO, OpenMake Software
Ms. Ragan has had extensive experience in the
development and implementation of DevOps for large
organizations. Her knowledge and experience contributed
to the creation of OpenMake Meister, the first commercial
Build Automation solution, and DeployHub, the first open
source Application Release Automation solution.
After spending several years in Finance doing various Dev and
Ops related things, Christian focuses on supercharging
organization's software development practices by utilizing
GitHub as a collaboration platform. Christian focuses on
Collaboration, Release Management and Automation as vehicles
for organizational success.Solutions Architect, GitHub
3. To increase the velocity of
software releases, Agile teams
must break down the barriers to
continuous deployment. . .
. . . allowing
software releases to
be consistently
deployed and
traced across the
pipeline from dev to
prod.
9. Polling Question one
45% of Fortune 100
Companies use GitHub
Enterprise. Are you a GitHub
Enterprise User:
1) Yes
2) No
10. DEV
Water Scrum Fall – the Hybrid Approach
QA Prod
Staging
Code Commit Build TestDeploy TestDeployApprove Report
Scripted
Deployments
Package Package
DEV
Continuous Delivery Pipeline with
Deployment Scripts
Scripted
Deployments
11. What the Prod
team sees when
they talk to a
software developer
about scripted
deployments.
12. Maturing the CD Pipeline to a CD Loop
Code
Commit
Build
Package Deploy
Test
Release
Feedback
Review
Approve
Approve
DEV OPS
Monitor
Continuou
s Delivery
Loop
13. How mature is your Continuous Delivery
Model?
1) Each Environment owner scripts their own
deployment process.
2) CI/CD manages scripted deployments to dev
and test, prod is different.
3) We use an integrated application release
automation solution to drive continuous
deployment across the pipeline.
Polling Question Two
14. Tools you will need:
Repository & Issue Tracking
Release Packaging
& Automation
15. GitHub to DeployHub for artifacts
Step 1: You create a DeployHub Application Package using Components. You Map your
GitHub Release Asset to a DeployHub Component.
16. GitHub Pipeline Project
Step 2 – Create a Pipeline Project
• Use your GitHub project to control deployments
across the pipeline, packaged in a DeployHub
Application.
• Example Application:
• Components 1 - Tomcat WebApp Runner Jar
• Components 2 -Uptime War
• The Pipeline Project will:
• Manage Approvals for Deployments
• Record Full Audit History
• Consolidate all Deployment Activity
• Link Deployed Components to Change Requests
17. Result – Wiki Issues Linked to Deployments
Hyper Links for easy viewing
18. Code
Commit
Build
Package Deploy
Test
Release
Feedback
Review
Approve
Approve
DEV OPS
Monitor
GitHub Webhook tells
DeployHub to check the
Approval status; Records
corresponding approvals in
DeployHub.
If approved, DeployHub moves package from Development to
Test, and executes the Deployment and Post Action to run Test
Automation – notifies production on success
If approved, moves package from Test to
Production, and executes the Production Release
with Post Action Smoke Test
Faster Release Cycles with an Automated Loop
Deployment
Endpoint Linked to
GitHub Wiki Issue
19. GitHub Wiki Centralizes Continuous Loop Process
and logs
All actions are recorded back to the GitHub Wiki
• DeployHub Actions
• Build Logs
• Test Results
• Change Requests
22. Key GitHub Enterprise Features Used
• Webhooks for triggering events
• Releases for managing Artifacts
• Wiki for documentation
• Security model for locking down who can do what
• Auditing of who did what and when
23. Key DeployHub Features Used
• Deploy by events
• Approval Model
• Application Packaging for Components
• Continuous Deployment Pipeline
• Pre/Post Deployment Actions
• Git Repo for Artifacts
• Deployment Versioning
24. Package
Application code with Database
and
Infrastructure
Physical, Cloud, Container
Support – Multi Platform
Agentless
Deploy
Push/Pull and track to
unlimited targets, physical,
Container, Virtual across
the pipeline.
Declarative
Configurations
Including Database
and Infrastructure
(Ansible, Chef,
Puppet)
DeployHub for Agentless Continuous Deployment
Agentless Architecture easy
to Install, Implement and
Maintain
25. DeployHub Deployment Version Control
DeployHub treats your Application Package like Code, creating new versions for
every change, no matter how small.
• Database
Updates
• Environment
Variables
• Infrastructure
• Artifacts and
Objects
Deployment Version Control for Version Jumps
26. No Budget Authority for Continuous Deployment?
Issue Tracking Version
Control
CI/CD
Continuous
Deployment
Open Source Pipeline Tools
Use Open Source Tooling