Deploying new features, bug fixes, and updates is necessary for every production SCADA/MES installation and without an established deployment cycle, modifications to any system pose significant risk. In this session, you’ll see Git source control, Docker containerization, and DevOps methodologies that you can use to effectively develop and deploy projects with Ignition. Apply standard Dev/Test/Stage/Prod practices from the software industry to support multiple developers, reduce unplanned downtime, and realize a more efficient process for developing and deploying Ignition projects.
6. A methodology and a mindset designed to integrate the
development and operation of a system into a cohesive
lifecycle
What is DevOps?
Reliability
Scalability Flexibility
Changing
Demands
8. • Flexible priorities
• Rapid turnaround times
• Coordination of multiple developers
• Minimum risk of invalid operation (bugs)
• Minimum risk of system failure (downtime)
We need to make changes with
Why DevOps?
Changing
Demands
9. • Flexible priorities
• Rapid turnaround times
• Coordination of multiple developers
• Minimum risk of invalid operation (bugs)
• Minimum risk of system failure (downtime)
We need to make changes with
Why DevOps?
Flexibility
Changing
Demands
10. • Flexible priorities
• Rapid turnaround times
• Coordination of multiple developers
• Minimum risk of invalid operation (bugs)
• Minimum risk of system failure (downtime)
We need to make changes with
Why DevOps?
Scalability Flexibility
Changing
Demands
11. • Flexible priorities
• Rapid turnaround times
• Coordination of multiple developers
• Minimum risk of invalid operation (bugs)
• Minimum risk of system failure (downtime)
We need to make changes with
Why DevOps?
Reliability
Scalability Flexibility
Changing
Demands
16. When teams apply whole changes to a
test environment as they are completed,
keeping the test environment in a
“candidate” state for the next
environment
Continuous Integration
Continuous Integration & Delivery
17. When teams apply whole changes to a
test environment as they are completed,
keeping the test environment in a
“candidate” state for the next
environment
Continuous Integration
When teams keep a staging
environment in a state that is an
acceptable candidate for production
Continuous Delivery
Continuous Integration & Delivery
18. When teams apply whole changes to a
test environment as they are completed,
keeping the test environment in a
“candidate” state for the next
environment
Continuous Integration
When teams keep a staging
environment in a state that is an
acceptable candidate for production
Continuous Delivery
Continuous Integration & Delivery
Good Testing Boring Releases
19. • Shift priorities and development based on the shop floor’s needs
• Deploy small changes quickly, with little disruption to large changes’ development
• Coordinate large development teams working on different tasks
• Ensure the code that’s deployed does what it was designed to do
• Ensure the system doesn’t encounter downtime (crash)
If we can achieve CI/CD, we can:
Continuous Integration & Delivery
20. Flexible priorities
Rapid turnaround times
Coordination of multiple developers
Minimum risk of invalid operation (bugs)
Minimum risk of system failure (downtime)
If we can achieve CI/CD, we can make changes with:
Continuous Integration & Delivery
37. • Using Linux made it easy to run this example all on my machine
• git runs just the same on Windows
• Docker for Windows does the job too
• We’ve proven this method cross-platform
But your demo is in Linux! We use Windows
Demo
38. • GitLab installation & setup
• git/GitLab permissions
• Documenting and automating non-git deployment processes
• Procedures for gateway configuration changes
Not covered, but still important
Demo