Download presentation
Presentation is loading. Please wait.
Published byGwendolyn Amanda Jennings Modified over 8 years ago
1
Directions EMEA Community for Dynamics NAV partners
2
Source Code Management for Dynamics NAV in 4 Examples Soren Klemmensen, Kamil Sacek, Luc van Vugt & Eric Wauters
3
Connected InNAVation! Mannheim, Germany, October 5-7, 2015. Introduction
4
4 Shades of Gray Soren Klemmensen (CA) Kamil Sacek (CZ) Luc van Vugt (NL) Eric Wauters (BE)
5
Agenda Why Source Code Management (SCM)? How SCM? 4 Shades of Gray (4 examples)
6
Connected InNAVation! Mannheim, Germany, October 5-7, 2015. Why SCM?
7
Requirement Code change Author Change Flow History Why was change done? What does change contain? Who did change? Where did change 'go'? What changes have been applied?
8
Why SCM? - Benefits Secured code History at hand Code Review code improvement TFS/GIT used by many lots of built-in and plug-in tooling API
9
How SCM? 4 Shades of Gray
10
Connected InNAVation! Mannheim, Germany, October 5-7, 2015. 4 Shades of Gray Luc van Vugt
11
Keep It Simple Team Foundation Server holds all source, the truth including requirements Manual ex-/import of.txt objects from/to databases
12
Environment & Tools End User #1 School Book Reseller in The Netherlands DTAP setup Development, Test, Acceptance, Production Branch & Merge Strategy to propagate approved code changes Team Foundation Server 2012 Visual Studio 2012/2013/2015 NAV 2009 R2
13
Environment - Developer Developer Database Team Foundation Server Workspace Managed by Visual Studio Update Workspace Update/Sync Database with Workspace Update Workspace Check in Code Local or Virtual Machine Developer Isolation
14
Test Database Environment - Test Team Foundation Server Workspace Managed by Visual Studio Update Workspace Update/Sync Database with Workspace Update Workspace Check in Code Local or Virtual Machine
15
Acceptance Database Environment - Acceptance Team Foundation Server Workspace Managed by Visual Studio Update/Sync Database with Workspace Update Workspace Local or Virtual Machine
16
Production Database Environment - Production Team Foundation Server Workspace Managed by Visual Studio Update Workspace Local or Virtual Machine Build Database.fob
17
DTAP with Multiple Developers/Projects RELEASE 2.2 (PRODUCTION RELEASE 2.1 (PRODUCTION) MAIN (ACCEPTANCE) Branch DEV 1 RI Branch TEST (BETA) Branch DEV 2 RI FI RI Hotfix FI
18
DTAP with Multiple Developers/Projects RELEASE 2.2 (PRODUCTION RELEASE 2.1 (PRODUCTION) MAIN (ACCEPTANCE) Branch DEV 1 RI Branch TEST (BETA) Branch DEV 2 RI FI RI Hotfix FI + - Releases Release2.1 (Production) + Release2.2 (Production) + - - Dev Test (Beta) Source Dev-1 Main (Acceptance) Source Dev-2 $$ + + + -
19
DTAP with Multiple Developers/Projects + - Releases Release2.1 (Production) + Release2.2 (Production) + - - Dev Test (Beta) Source Dev-1 Main (Acceptance) Source Dev-2 $$ + + + -
20
My Benefits Release per changeset possible 1 changeset per requirement Rollback per changeset Developer isolation DTAP at hand
21
Connected InNAVation! Mannheim, Germany, October 5-7, 2015. 4 Shades of Gray Eric Wauters
22
Keep It Simple Team Foundation Server holds all: Source Source versions (object versions) ReVision is going to manage text import and export (in background) Minimum change in DEV Experience, with the power of Source Code Management.
23
Environment & Tools Microsoft Dynamics NAV iFacto ReVision Team Foundation Server Mantis
24
Team Foundation Server DEV Database Terminal ServerDEV ServerTFS Server DEV Database iFacto ReVision Dynamics NAV Classic Client DEV Database DEV Database DEV Database Check Out/In Objects Rollback DB Build Mgt Compare / Edit / Compile Object History … Environment - DEV Mantis Link Changesets to Issues in Mantis
25
Check Out Press Ctrl+Alt+O
26
Check In Press Ctrl+Alt+I
27
Object History Press Ctrl+Alt+H
28
Object History / Compare Select 2 changesets and right mouse click / Compare
29
Object History / Compare
30
Mantis Changesets become automagically visible in Mantis Example: http://issuetracker.ifacto.be/view.php?id=14824
33
Team Foundation Server DEV Database Terminal ServerDEV ServerTFS Server DEV Database iFacto ReVision Dynamics NAV Classic Client DEV Database DEV Database DEV Database Check Out/In Objects Rollback DB Build Mgt Compare / Edit / Compile Object History … Environment - DEV Mantis Link Changesets to Issues in Mantis
34
Team Foundation Server DEV Database Terminal ServerDEV ServerTFS Server iFacto ReVision Dynamics NAV Classic Client Environment - Build Mantis Build Server Compile all objects Fetch changes Report to developer
35
Team Foundation Server DEV Database Terminal ServerDEV ServerTFS Server iFacto ReVision Dynamics NAV Classic Client Environment - Test Mantis Build Server Test Server Run all tests Fetch changes Report to developer
36
My Benefits History REALLY at hand (in the DEV Client) Not necessary to maintain multiple isolated environments No need to merge on every check-in Possible to enforce the methodology Central Development DB Object Table Triggers – you need to check out before development Managed by ReVision
37
Handicaps No Branches In our environment, our Branches are different databases with its own repository. ReVision makes it easy for us to compare these different databases. Though, there is no defined relationship between any of the “branches” Not possible to work with more then one developer on 1 object at the same time Which has got a big advantage as well: not necessary to merge on every check in Mantis We should move to workitems
38
Connected InNAVation! Mannheim, Germany, October 5-7, 2015. 4 Shades of Gray Kamil Sacek
39
Keep It Simple GIT holds all source, the truth Most things ‘on click’ Automatization through TFS Build
40
Environment & Tools GIT + GITExtension Home-brewed Version Control in NAV NAVERTICA Helpdesk PowerShell TFS 2013/2015 NAV 2013/2015/2016
41
How it works? Central development Isolated development Local GIT repository Developer Database Update repo & Commit Update/Sync Database with repo Pull Push Developer Isolation GIT server repository (TFS, GITHub …) Build Check-in (Update repo) Central Development Database Build Database (tests) Test/Build results Build (Update DB)
42
Demo GITExtensions + PowerShell
43
My Benefits Easy to use system Flexible system Both development isolation and centralized development Release per commit possible Easy rollback
44
Connected InNAVation! Mannheim, Germany, October 5-7, 2015. 4 Shades of Gray Soren Klemmensen
45
Keep It Simple All developers use their own workspace PowerShell Scripts to export and put individual objects into their own workspace Check-in is manual Scripts to build new application Import and compiling a new version can be automated with the VS Build Engine
46
Environment & Tools Custom and Vertical development Visual Studio Online Visual Studio 2013/2015 NAV 2009 R2, 2013, 2013 R2, 2015 & 2016 PowerShell (and vb script for old versions)
47
Environment - Developer Developer Database Visual Studio Online Workspace Managed by Visual Studio Update Workspace Update/Sync Database with Workspace Update Workspace Check in Code Local or Virtual Machine Developer Isolation Code Review
48
Environment - Build Developer Database Visual Studio Online Workspace Managed by Visual Studio Update/Sync Database with Workspace Update Workspace Local or Virtual Machine Developer Isolation Clean Standard DB Build FOB
49
My Benefits ChangeSet with multiple objects Strong tools to improve the Dev team Developer isolation No dependencies on NAV databases The Source Code is the ONLY TRUTH Branching and merging Works for all development (not just NAV)
50
My Benefits Nothing in NAV. Generic.
51
Connected InNAVation! Mannheim, Germany, October 5-7, 2015. 4 Shades of Gray Benefits and Handicaps
52
Benefits and Handicaps
53
www.directionsemea.com Join Us !
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.