+ All Categories
Home > Technology > Code Management and Promotion (DDT) - Jason Cornell - ManageIQ Design Summit 2016

Code Management and Promotion (DDT) - Jason Cornell - ManageIQ Design Summit 2016

Date post: 16-Apr-2017
Category:
Upload: manageiq
View: 161 times
Download: 1 times
Share this document with a friend
14
MIQ Code Management and Promotion with special guests Ansible and Git Jason Cornell, Daniel Garcia and JD Calder
Transcript
Page 1: Code Management and Promotion (DDT) - Jason Cornell - ManageIQ Design Summit 2016

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

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

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

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

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

6

DDT High Level Overview

Average Automation Developer

Page 7: Code Management and Promotion (DDT) - Jason Cornell - ManageIQ Design Summit 2016

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

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

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

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

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

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

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

Thank you!

JD Calder

JD.Calder (at) coxautoinc.com

Jason Cornell

Jason.Cornell (at) coxautoinc.com

Daniel Garcia

Daniel.Garcia (at) coxautoinc.com

15


Recommended