Sunday, November 9, 2014

ORMS - You're Doing It Wrong (Jimmy Bogard, Oredev conf)

Vimeo Video from OroDev conference

27:34 - use query/command instead of repositories

19:05 - use Project to limit number of columns, automatically create joins and avoid ORM tracking for reads

14:00 - includes (eager fetching)

34:45 - use Glimpse to see the sql

38:00 - EF unit of work pattern for MVC controller

39:30 - wrong way to use DbContext in MVC controller, use a context instance per controller instance.

Saturday, November 8, 2014

TFS Release Management


Downloading Windows Azure Subscription Files (scroll down to VStudio method)

Pre-configured VM for TFS 2013 and Release Management (and everything else)

Rollbacks explained.

RM System Variables (standard templates)

Build Directory     $(PackageLocation)
Build Number        $(BuildNumber)
Build Definition    $(BuildDefinition)
TFS Collection      $(TfsUrlWithCollection)
Team Project        $(TeamProject)

RM System Variables (vNext templates only)

  

Request New Features

Components use Tools. You can create your own tool and use it in a custom component. The component can then be used in a Release Template.

Friday, November 7, 2014

Automated Deployment


Attempts to addresses the multiple binaries per environment issue by using the Parameters.xml file. Compatible with Release Management.
http://www.colinsalmcorner.com/post/webdeploy-and-release-management--the-proper-way

Creating a Build Definition That Supports Deployment

Install and Configure Release Management

Release Management Installation Guide (pdf)

Release Management User Guide (pdf)

Overview Graphic

How to create web deployment alone package using TFS

Powershell DSC



/p:MSDeployPublishMethod=InProc
/p:WebPublishMethod=MSDeploy
/p:MSDeployPublishMethod=InProc

This works, you'll need to fill in the username and pword in the queue dialog:
/p:UseWPP_CopyWebApplication=true /p:PipelineDependsOnBuild=false /p:DeployOnBuild=True /p:DeployTarget=MsDeployPublish /p:WebPublishMethod=MSDeploy /p:CreatePackageOnPublish=False /p:MSDeployPublishMethod=RemoteAgent /p:MSDeployServiceUrl=http://fscee29028-1 /p:DeployIisAppPath="vaww.clfm-dev.fsc.va.gov" /p:UserName= /p:Password=

This works also (removed first 2 params from above)
/p:DeployOnBuild=True /p:DeployTarget=MsDeployPublish /p:WebPublishMethod=MSDeploy /p:CreatePackageOnPublish=False /p:MSDeployPublishMethod=RemoteAgent /p:MSDeployServiceUrl=http://fscee29028-1 /p:DeployIisAppPath="vaww.clfm-dev.fsc.va.gov" /p:UserName= /p:Password=

/p:DeployOnBuild=true;PublishProfile=fscee29028-1_CLFM_WebInt.pubxml /p:Password=

MSBuild.exe MyWebs.sln /p:Configuration=Release /p:DeployOnBuild=true;PublishProfile=DeployToDirectory.pubxml