Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Extensible Storage Engine wikipedia , lookup
Open Database Connectivity 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
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