Code Management and Promotion (DDT) - Jason Cornell - ManageIQ Design Summit 2016
-
Upload
manageiq -
Category
Technology
-
view
162 -
download
1
Transcript of Code Management and Promotion (DDT) - Jason Cornell - ManageIQ Design Summit 2016
![Page 1: Code Management and Promotion (DDT) - Jason Cornell - ManageIQ Design Summit 2016](https://reader031.fdocuments.net/reader031/viewer/2022030317/587097e41a28ab412b8b6d77/html5/thumbnails/1.jpg)
MIQ Code Management and Promotion with special guests Ansible and Git
Jason Cornell, Daniel Garcia and JD Calder
![Page 2: Code Management and Promotion (DDT) - Jason Cornell - ManageIQ Design Summit 2016](https://reader031.fdocuments.net/reader031/viewer/2022030317/587097e41a28ab412b8b6d77/html5/thumbnails/2.jpg)
2
Agenda
• Introductions
• Challenge and Solution
• Design
• Demos
• Current State and Next Steps
![Page 3: Code Management and Promotion (DDT) - Jason Cornell - ManageIQ Design Summit 2016](https://reader031.fdocuments.net/reader031/viewer/2022030317/587097e41a28ab412b8b6d77/html5/thumbnails/3.jpg)
3
Who is Cox Automotive?
Our Vision To transform the way the world
buys, sells and owns cars.
Our Mission To provide key solutions that
create greater efficiencies in the automotive ecosystem.
Our Values Our employees drive the growth of our business and strengthen our leadership position in the
industry.
Our Heritage A subsidiary of 116-year-old Cox
Enterprises Inc., one of the world’s largest privately owned
communications, media and automotive services companies.
![Page 4: Code Management and Promotion (DDT) - Jason Cornell - ManageIQ Design Summit 2016](https://reader031.fdocuments.net/reader031/viewer/2022030317/587097e41a28ab412b8b6d77/html5/thumbnails/4.jpg)
4
Challenges to Automation Development
• Code (methods, dialogs, buttons, etc) are not in a repository
• Developer must cut-n-paste code from IDE into the UI
• Difficult to track development
• Easy to step on another developer’s changes if not careful
• Difficult to keep code synchronized between multiple environments
• No easy method to promote code from development into production
![Page 5: Code Management and Promotion (DDT) - Jason Cornell - ManageIQ Design Summit 2016](https://reader031.fdocuments.net/reader031/viewer/2022030317/587097e41a28ab412b8b6d77/html5/thumbnails/5.jpg)
5
Solution
Introducing the ManageIQ Developer Deployment Toolkit (DDT). The toolkit includes custom developed helper tools as well as integrations with:
• Git: all code/configuration data
• Deployment Automation: Ansible
• IDE: RubyMine
![Page 6: Code Management and Promotion (DDT) - Jason Cornell - ManageIQ Design Summit 2016](https://reader031.fdocuments.net/reader031/viewer/2022030317/587097e41a28ab412b8b6d77/html5/thumbnails/6.jpg)
6
DDT High Level Overview
Average Automation Developer
![Page 7: Code Management and Promotion (DDT) - Jason Cornell - ManageIQ Design Summit 2016](https://reader031.fdocuments.net/reader031/viewer/2022030317/587097e41a28ab412b8b6d77/html5/thumbnails/7.jpg)
7
What is the Developer Deployment Toolkit?
Quick demo of basic edit and push to developer’s lab appliance
![Page 8: Code Management and Promotion (DDT) - Jason Cornell - ManageIQ Design Summit 2016](https://reader031.fdocuments.net/reader031/viewer/2022030317/587097e41a28ab412b8b6d77/html5/thumbnails/8.jpg)
8
What are the benefits of DDT
• Ability to follow software development practices
• Develop local via your favorite IDE
• Commit and push your changes
• Ruby gem cf_ddt updates the MIQ server on push
• Can run unit test right after MIQ updates
• Ability to rapidly revert back if issues
![Page 9: Code Management and Promotion (DDT) - Jason Cornell - ManageIQ Design Summit 2016](https://reader031.fdocuments.net/reader031/viewer/2022030317/587097e41a28ab412b8b6d77/html5/thumbnails/9.jpg)
9
Demo of creating a new branch
• Bring MIQ customizations into code management with Git
• 7 different stores, Datastore (automate), Buttons, Dialogs, Service Catalogs, Customization Templates, Roles
![Page 10: Code Management and Promotion (DDT) - Jason Cornell - ManageIQ Design Summit 2016](https://reader031.fdocuments.net/reader031/viewer/2022030317/587097e41a28ab412b8b6d77/html5/thumbnails/10.jpg)
10
Rapid Code Promotion or Rollback
• Merge is done at the Git level
• Process is no different from daily dev
• Merge/promote/push to master branch
• cf_ddt updates MIQ Production server with master branch
• Rollback (restore from Git) if needed
![Page 11: Code Management and Promotion (DDT) - Jason Cornell - ManageIQ Design Summit 2016](https://reader031.fdocuments.net/reader031/viewer/2022030317/587097e41a28ab412b8b6d77/html5/thumbnails/11.jpg)
11
Review Challenges to Automation Development
• Code (methods, dialogs, buttons, etc) are not in a repository
• Developer must cut-n-paste code from IDE into the UI
• Difficult to track development
• Easy to step on another developer’s changes if not careful
• Difficult to keep code synchronized between multiple environments
• No easy method to promote code from development into production
![Page 12: Code Management and Promotion (DDT) - Jason Cornell - ManageIQ Design Summit 2016](https://reader031.fdocuments.net/reader031/viewer/2022030317/587097e41a28ab412b8b6d77/html5/thumbnails/12.jpg)
13
Conclusion
• DDT brings ManageIQ customization components into code management
• Maintain state with branches
• Code locally, deploy to targeted ManageIQ server
• Code rollback and regression testing
• Rapid code promotion with low risk
![Page 13: Code Management and Promotion (DDT) - Jason Cornell - ManageIQ Design Summit 2016](https://reader031.fdocuments.net/reader031/viewer/2022030317/587097e41a28ab412b8b6d77/html5/thumbnails/13.jpg)
14
Current and Future State
• Development and testing ~80% completed
• Want to perform unit testing via integration testing
• Want to enable nightly/weekly automation builds
• Plan to publish to the MIQ Depot very soon
• How does this align with MIQ vision?
• Is anyone interested in helping complete/expand these capabilities?
• What else can we enable with this functionality?
![Page 14: Code Management and Promotion (DDT) - Jason Cornell - ManageIQ Design Summit 2016](https://reader031.fdocuments.net/reader031/viewer/2022030317/587097e41a28ab412b8b6d77/html5/thumbnails/14.jpg)
Thank you!
JD Calder
JD.Calder (at) coxautoinc.com
Jason Cornell
Jason.Cornell (at) coxautoinc.com
Daniel Garcia
Daniel.Garcia (at) coxautoinc.com
15