deploying solution enhancements to production

44
aras.com Copyright © 2013 Aras. All Rights Reserved. DOMORE ACE 2013

Upload: aras

Post on 20-Jan-2015

417 views

Category:

Technology


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Deploying Solution Enhancements to Production

aras.comCopyright © 2013 Aras. All Rights Reserved.

DOMOREA C E 2 0 1 3

Page 2: Deploying Solution Enhancements to Production

aras.comCopyright © 2013 Aras. All Rights Reserved.

A C E 2 0 1 3

Deploying Solution Enhancements to Production

Learn about Best Practices for deploying changes, extensions, or new solutions from development to production

Page 3: Deploying Solution Enhancements to Production

aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 3

Agenda

Deployment Challenges Getting Started

Environment Planning Terminology

Our Approach Tools that you need Walk through some example deployment scenarios Common Pitfalls

Page 4: Deploying Solution Enhancements to Production

aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 4

Deployment Challenges

How do you insure accurate deployments? How do you avoid regressions? How to manage parallel development? How do you keep environments in sync? How do you plan deployments?

Page 5: Deploying Solution Enhancements to Production

aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 5

Scenarios for Today

Moving enhancements to a production environment

Parallel or multi-resource development of a solution

Dev

Test

Production

Dev

Page 6: Deploying Solution Enhancements to Production

GETTING STARTED

Page 7: Deploying Solution Enhancements to Production

aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 7

Getting Started

Establish your environment Establish your starting point or baseline Establish a source control plan Plan your deployment strategy Establish a validation plan

Page 8: Deploying Solution Enhancements to Production

aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 8

The Development Environment

3 Environments minimum Development

This is where you work Test/QA/Staging

Imports are tested here User validation is conducted here Should always reflect your

baseline to start Production

This is your baseline

Dev

Test

Production

Page 9: Deploying Solution Enhancements to Production

aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 9

Terminology Deployment Package

Complete set of all development changes Must be fully applied for proper deployment Typically contains full AML definitions Depends on a pre-defined Baseline

Patch Subset of development changes Provides for quick and pointed updates Can eliminate the need for a merge May contain AML snippets vs. full definition Must be applied in a particular order

Baseline A simple snapshot of system functionality Defines a starting point for development Doesn’t typically change during a development cycle

Page 10: Deploying Solution Enhancements to Production

aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 10

Importance of Baselines

Provides a solid foundation for the development / deployment process

New environments can be built using the baseline as a starting point

Eliminates the issue of a ‘Moving Target’

Critical for accurate deployments

Page 11: Deploying Solution Enhancements to Production

aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 11

Deploy

Development

Development

Deploy

Example Baseline

Standard Aras

Innovator

Development

New Baseline(Phase 2 Production System)

Target(Phase 1 Production System)

New Baseline(Phase 1 Production System)

Merge Point

Page 12: Deploying Solution Enhancements to Production

aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 12

Source Control Plan

Establish a system for how and where deployment packages will be stored Source control File server

Establish a naming convention for these packages Establish where the baseline will be stored Think about the sequence in which features will be

deployed

Page 13: Deploying Solution Enhancements to Production

aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 13

Plan your deployment

Determine how your solution will be deployed All at once Separate deployments

Deployment strategy can help define packaging Establish a validation plan

Page 14: Deploying Solution Enhancements to Production

aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 14

Validation plan

Defines how you will test for accuracy Define Test Strategy which includes:

Use Cases/Test Cases Test Data Test Environment How do we know when we are done?

Don’t underestimate this !

Page 15: Deploying Solution Enhancements to Production

OUR APPROACH

Page 16: Deploying Solution Enhancements to Production

aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 16

Development & Packaging

Development Process

Plan Develop Build Deploy Test Rollout

Project PlansDeployment PlansTest & Validation strategyBaseline Established

Export PackagesBuild Cleanup scriptsPackage Code Tree ChangesBuild Custom DLLs

Run cleanup scriptsMerge activitiesImport packagesDeploy CodeTree ChangesDeploy Custom DLLs

Execute validation planRun test scripts

Repeat deployment steps in production

Page 17: Deploying Solution Enhancements to Production

aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 17

Deployment ProcessSingle Developer Solution

Export Package(s)

Compare to Baseline

Create Deployment Package(s)

Import into Test

Merge Conflicts

Plan Develop Build Test RolloutDeploy

PlanDevelop

Build

TestRollout

Page 18: Deploying Solution Enhancements to Production

aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 18

Deployment ProcessMultiple Developer Solution

Export Package(s)

Compare to Baseline

Create Deployment Package(s)

Import into Test

Merge Conflicts

Plan Develop Build Test RolloutDeploy

PlanDevelop

Build

TestRollout

Merge Development and Baseline

This is a 3 way Compare and Merge

Page 19: Deploying Solution Enhancements to Production

aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 19

Exporting Packages

Done using the Aras Export tool Use the same version of the Import/Export tools to

establish the baseline and export your development Use Tools like the Aras Customization report to assist

with packaging Usually best to export entire packages to help with

the merge process Export the same packages from development and

baseline

Export Package(s)

Compare to Baseline

Create Deployment Package(s)

Import into Test

Merge Conflicts

Page 20: Deploying Solution Enhancements to Production

aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 20

Comparing Baselines

Requires a good XML compare utility You need to understand AML and the significance of

changes Don’t ignore differences..

Make sure that you understand the reason for the diff. Use a 3 way compare tool when multiple

developers are involved

Compare to Baseline

Export Packages

Create Deployment Package(s)

Import into Test

Merge Conflicts

Page 21: Deploying Solution Enhancements to Production

aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 21

Merging Conflicts

The focus is CONFLICT Resolution A difference is not necessarily a conflict

A conflict could be: An AML element that differs from the baseline AML elements that wont produce the same result

The Aras Import tool will merge changes that are not conflicted

Merge Conflicts

Export Packages

Create Deployment Package(s)

Import into Test

Compare to Baseline

Page 22: Deploying Solution Enhancements to Production

aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 22

Creating a Deployment Package

May require some scripts for pre-processing Deleting items Versionable items

Should be a full and complete package in most cases There are some cases for delta files and patches

Name package in accordance with your plan Store the package in the defined location Notify the team

Create Deployment

Package

Export Packages

Merge Conflicts

Import into Test

Compare to Baseline

Page 23: Deploying Solution Enhancements to Production

aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 23

Importing into Test

Target system MUST be equivalent to the baseline Execute any pre-processing scripts Import the deployment package using the Aras Import

Tool Move on and execute your validation plan When Issues are Identified:

Fix them in Development and repeat Patching test is OK but you should repeat the whole process

to simulate the deployment process

Import into Test

Export Packages

Merge Conflicts

Create Deployment

Package

Compare to Baseline

Page 24: Deploying Solution Enhancements to Production

aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 24

Synchronizing Environments

Dev 1

Dev 2

Test

Prod

Check In / Out

SourceControl RefreshBuilds /

Patches

Page 25: Deploying Solution Enhancements to Production

TOOLS THAT YOU NEED

Page 26: Deploying Solution Enhancements to Production

aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 26

Tools – Source Control

GIT CVS SourceSafe Subversion File System Etc.

Page 27: Deploying Solution Enhancements to Production

aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 27

Tools -XML Diff / Merge

Beyond Compare Altova DiffDog KDiff3 Etc.

Page 28: Deploying Solution Enhancements to Production

aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 28

Tools – Aras

Import / Export Move solution items between environments via AML

Console Upgrade Command line version of Import / Export Tools

Nash Apply AML directly to the Innovator Server

AML Studio Similar to Nash, but with intellisense. Community Solution

Page 29: Deploying Solution Enhancements to Production

EXAMPLES

Page 30: Deploying Solution Enhancements to Production

aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 30

Example – Simple ChangeSingle Developer

Add new field to existing Part Form:

Page 31: Deploying Solution Enhancements to Production

aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 31

Deployment ProcessSingle Developer Solution

Export Package(s)

Compare to Baseline

Create Deployment Package(s)

Import into Test

Merge Conflicts

Plan Develop Build Test RolloutDeploy

PlanDevelop

Build

TestRollout

Page 32: Deploying Solution Enhancements to Production

aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 32

Compare AML Baseline vs Development

Baseline DevelopmentBeyondCompare

Page 33: Deploying Solution Enhancements to Production

aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 33

DeployImport Tool Nash / AML Studio

Test / Production

OR

Page 34: Deploying Solution Enhancements to Production

aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 34

Verify

Page 35: Deploying Solution Enhancements to Production

aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 35

Example 2 - A two developer Scenario

Developer 2 - Change Label, Name of field

Developer 1 – Adds ‘Weight’ fieldTwo Developers working in parallel make changes to the same Form. Changes are made in separate environments

Page 36: Deploying Solution Enhancements to Production

aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 36

Deployment ProcessMultiple Developer Solution

Export Package(s)

Create Deployment Package(s)

Import into Test

Plan Develop Build Test RolloutDeploy

PlanDevelop

Build

TestRollout

Merge Development and Baseline

Page 37: Deploying Solution Enhancements to Production

aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 37

Development & Baseline CompareFirst Difference

Baseline Developer 1 Developer 2

KDiff3

Developer2 has modified the label and name

Developer 1 has not changed the baseline here

This is a DIFFERENCE but not a CONFLICT

No Merge Required!

Page 38: Deploying Solution Enhancements to Production

aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 38

Development & Baseline CompareSecond Difference

Baseline Developer 1 Developer 2

KDiff3

Developer 1 has added the Weight field to the form

Developer 2 has not changed the baseline here

This is a DIFFERENCE but not a CONFLICT

No Merge Required!

Page 39: Deploying Solution Enhancements to Production

aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 39

DeployImport Tool Nash / AML Studio

Test / Production

OR

Page 40: Deploying Solution Enhancements to Production

aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 40

Verify

Page 41: Deploying Solution Enhancements to Production

aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 41

Example of a conflictBaseline Developer 1 Developer 2

KDiff3

Developer2 has modified the label and name

Developer1 has also modified the label and name

This is a CONFLICTMerge Required!

Page 42: Deploying Solution Enhancements to Production

aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 42

Handling Special Cases Special cases include:

Handling Deletes

Edit properties or relationships from items in other packages

You can execute custom AML during the import process Place AML files in a folder with any name

‘Fixes’ for folder name is best practice

Files are processed by name in alphabetical order

Fixes are executed at the end of the import process Pre-Processing can be done by using multiple packages

Copy snippets of AML during Diff Analysisas a starting point

Patches can be created by editing the exported AML

Page 43: Deploying Solution Enhancements to Production

aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 43

Common Pitfalls Manual changes directly in Test or Production

Lack of source control

Deferring deployment planning too late in the project

Insufficient Team Communication

Waiting too long to synchronize environments

Too many manual deployment steps

Failure to adjust baseline if changed during project

Page 44: Deploying Solution Enhancements to Production

aras.comCopyright © 2013 Aras. All Rights Reserved.

A C E 2 0 1 3

Questions?