Presentation is loading. Please wait.

Presentation is loading. Please wait.

AX 2012 Code Management & Promotion Best Practices

Similar presentations


Presentation on theme: "AX 2012 Code Management & Promotion Best Practices"— Presentation transcript:

1 AX 2012 Code Management & Promotion Best Practices
AXUG Upper Midwest Regional Meeting Fargo, ND Sept 20 & 21, 2017

2 Contact Info Steve Walsh Technical Director – Managed Services mobile Jason Spindler Senior System Engineer – Manager Services mobile

3 Agenda Why code management/Promotion Code Management
Code promotion flow Code naming convention Tracking request to completion Separation of duties Maintenance windows Communication plan Source code control & TFS Code Promotion (Demo) Model store move Temp scheme move

4 Why Code Mgt & Promotion Standards
The key is the best practice and standard Consistency across the team Easier to communicate the plan for each situation Proven steps Minimizes risk and stabilizes Production Able to answer “What changed?”

5 Code Promotion Flow Walk thru the process each environment servers a purpose discuss them. DEV – development – XPO is created from here; any rework from Test is done in DEV Don’t trust Hot fixes, ISV solutions….test everything. TEST- XPO is imported into Test; any rework goes back to DEV environment; no code is modified in TEST. Part of the Test is the importing of the XPO BUILD – used by MCA it is refreshed from PROD and the XPO’s that were test in TEST get imported, complied, and synced. A model store can them be exported and ready to go to PROD PROD – Production. we import the build model store into a temp scheme and wait for a maintenance window to promote to the main scheme. Then a build, CIL, and sync are ran.

6 Naming Conventions Standardize the naming
Customization request/Functional Design/Case Number AX Project Name: ABC_CR999_FunctionalityOfTheMod ABC_FDD999_FunctionalityOfTheMod ABC_Case _FunctionalityOfTheMod XPO – when it exports we use the Project Name

7 Tracking the changes

8 System Engineers/Admin
Separation of Duties Functional/ Bus Analyst Developers Release Manager/ System Engineers/Admin

9 Maintenance Windows Consider Best hours to do this:
8 to 5 Hours of Operation Evenings 24 X 5 Weekends 24 X 7 This is the tricky one; lower productivity time Shift Change or Lunch time Company events/meetings How much time is needed? 2 hours; 4 hours, or More? Expect something to go wrong

10 Communication Plan Communicate! Communicate! Communicate!
Prior to Code Promotion Developers, System Engineer, & Release Manager Announcement of Maintenance Window About 1 week Remind a couple of days before Remind day of… in the morning & hours before Start of Maintenance – Announce the Start End of Maintenance – Announce the Completion

11 Communication Plan What if something starts to go wrong?
Stay Calm and… Communicate! Communicate! Communicate! If you start to think you might need more time: Communicate to User Group and Managers Reset Expectations for more time If you need to Roll back: Communicate to the same groups

12 Communication Plan Communicate! Communicate! Communicate!
Be consistent with messaging Always include the same group for communication Have a Plan B/Contingency Plan put together Plan B – have a Developer on stand by during code promotion

13 Version Control Concurrent development No Yes Isolated development
MorphX MorphX VCS Visual SourceSafe Team Foundation Server Concurrent development No Yes Isolated development Change description Change history Quality bar enforcement Branching Work item integration Labeling support

14 Version Control – TFS Benefits Integration into VSTS
Branching capabilities Auto-builds Model Store numbering/releases numbers

15 Code Promotion using Model Store move

16 Code Promotion Flow Walk thru the process each environment servers a purpose discuss them. DEV – development – XPO is created from here; any rework from Test is done in DEV Don’t trust Hot fixes, ISV solutions….test everything. TEST- XPO is imported into Test; any rework goes back to DEV environment; no code is modified in TEST. Part of the Test is the importing of the XPO BUILD – used by MCA it is refreshed from PROD and the XPO’s that were test in TEST get imported, complied, and synced. A model store can them be exported and ready to go to PROD PROD – Production. we import the build model store into a temp scheme and wait for a maintenance window to promote to the main scheme. Then a build, CIL, and sync are ran.

17 Step 1 Create Temp Scheme
Initialize-AXModelStore -AOSAccount "Domain\AccountName" - SchemaName TempSchema -Server <ServerName -Database <DatabaseName> Creates a second Schema on the model store database for us to promote code to.

18 Step 2 Import into Temp Scheme
Import-AXModelStore -File Staging.axmodelstore -SchemaName TempSchema We import our model store in the temp schema in order to speed up process. We can do this ahead of the maitenance window and it is faster because the Schema is not in use.

19 Step 3 Apply Temp Scheme Import-AXModelStore -Apply:TempSchema
This step should only be done when your are ready to promote to live. In the case of Production you may wait a day or 2 for the maintenance window.

20 Step 4 Drop Temp Scheme Initialize-AXModelStore –Drop TempSchema
Always remove the Temp Schema after you are done to keep things clean.

21 Links Microsoft Dynamics AX 2012 White Paper: Deploying Customizations Across Microsoft Dynamics AX 2012 Environments Version Control System [AX 2012] Joris de Gruyter – Application Lifecycle Management/TFS

22 Q&A

23 Contact Info Steve Walsh Technical Director – Managed Services mobile Jason Spindler Senior System Engineer – Manager Services mobile


Download ppt "AX 2012 Code Management & Promotion Best Practices"

Similar presentations


Ads by Google