Download Source Code Management for Dynamics NAV in

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Extensible Storage Engine wikipedia , lookup

Database wikipedia , lookup

Open Database Connectivity wikipedia , lookup

Btrieve wikipedia , lookup

PL/SQL wikipedia , lookup

Concurrency control wikipedia , lookup

Relational model wikipedia , lookup

Microsoft Jet Database Engine wikipedia , lookup

Database model wikipedia , lookup

Microsoft SQL Server wikipedia , lookup

Versant Object Database wikipedia , lookup

Clusterpoint wikipedia , lookup

ContactPoint wikipedia , lookup

Transcript
Directions EMEA
Community for Dynamics NAV partners
BODY
From Source Code Management to Daily
Build
Soren Klemmensen, Kamil Sacek & Luc van Vugt
Introduction
Connected InNAVation!
Mannheim, Germany, October 5-7, 2015.
BODY
=
Build Or Die, Youngman
BODY
=
Build Own Database Yourself
BODY Builders
=
Best Of Dynamics Youngsters
BODY Builders
=
Soren Klemmensen (CA)
Kamil Sacek (CZ)
Luc van Vugt (NL)
Agenda
Source Code Management (SCM)
Build
Resume
Source Code Management
Source Code Management
Local or Virtual Machine
Check in
Code
Local
Workspace
or
Repository
Developer
Database
Update/Sync
Database with
WS/Repo
Developer Isolation
Update
WS/Repo
Central
Repository
(TFS, GITHub, …)
holding .txt files
Update
WS/Repo
SCM - Benefits
Secured code
History at hand
Code Review
• code improvement
Team Foundation Server (TFVC) or GIT
• used by many
• lots of built-in and plug-in tooling
• API
GIT vs TFVC
GIT
• Distributed
• History available
locally
• Branches are
lightweight
• Partial support in
Visual Studio GUI
• Full support in
external GUI
TFVC
• Centralized
• History on server only
• Branches are pathbased and created on
server
• Full support in Visual
Studio GUI
• Limited support in
external GUI
Demo (developing)
Connected InNAVation!
Mannheim, Germany, October 5-7, 2015.
Build
TFS Architecture
Project
Server
extensions
Client
Client
Client
Client
TFS Web
portal
SharePoint
extensions
TFS Server
(Online/On Prem)
MS SQL
Build
Build
Controller
Controller
Build
Build
Agent
Build
Agent
Build
Agent
Agent
Build
Build
Agent
Build
Agent
Build
Agent
Agent
TFS Architecture
TFS Web
portal
TFS Server
(Online/On Prem)
Build
Build
Controller
Controller
Build
Build
Agent
Build
Agent
Build
Agent
Agent
Build
Build
Agent
Build
Agent
Build
Agent
Agent
How it works (GIT)?
Build
Update
repo
&
Commit
Local GIT
repository
Update/Sync
Database
with
repo
Isolated development
Developer Isolation
Developer
Database
Push
Build
Database
(tests)
Test/Build
results
GIT server
repository
(TFS, GITHub
…)
Pull
Build
Check-in
(Update
repo)
Central
Development
Database
Central development
How it works (TFVC)?
Build
Update
Workspace
Local
Workspace
Update/Sync
Database
with
Workspace
Isolated development
Developer Isolation
Developer
Database
Check-in
Build
Database
(tests)
Test/Build
results
TFVC (TFS)
Build
Checkout
Check-in
(Update
repo)
Central
Development
Database
Central development
But HOW IT WORKS?
Build
Test/Build
results
TFS
Build
Database
(tests)
Build
What does it mean “to build NAV”?
A.
Prepare the environment
•
•
•
•
B.
Update objects
•
•
•
C.
Import base FOB file(s)
Import txt file(s)
Compile objects
Test Database
•
D.
Create NAV SQL DB from backup
Create NAV Server Instance
Install external components (Addins, dlls)
Import NAV License
Run tests
Produce output
•
•
•
Export and publish test results
Export and publish FOB file
Create and publish NAVX
What we need to build?
1.PowerShell scripts
2.Build template
3.Build definition
4.Parameters
5.Trigger
Build template
XAML
Windows Workflow Foundation
Activities creating complex Workflow
PowerShell support through custom Activities
Build agent for Windows
vNext (TFS 2015+)
Web and script based
Basic Activities defining each step
Executed step-by-step
Native support for PowerShell
Build agents for other platforms (xPlat)
Build template
Build parameters
In template
•
Defined by template
•
Configured in build definition
In versioned files
•
e.g. XML file
•
Could change by each changeset/commit
Build parameters
Examples:
•
SQL Server name
•
SQL Database name
•
Base DB Backup file
•
Base FOB file
•
License file
•
NAV Version
•
Differential build (yes/no)
•
Clean DB (yes/no)
•
Compile all (yes/no)
•
…
Trigger
• Manual
• Continuous integration
• each commit/check-in
• Rolling builds
• Gated check-in (TFVC)
• Schedule (nightly builds)
Demo (building)
Connected InNAVation!
Mannheim, Germany, October 5-7, 2015.
Summary
Join Us !
www.directionsemea.com