Download presentation
Presentation is loading. Please wait.
Published byJanel Glenn Modified over 6 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.