Deploying a new application version is the process of updating the production version that all of our customers see from the development version that we are working on and testing internally. After some painful experiences, MEI now follows a strict process regardless of customer pressure to get some urgent fix into production. These are the reasons:
|•||Both the application and the database can change, so the production application and all production databases need to be updated methodically.|
|•||There are more than one customer using the application. We can't have one customer creating risk for others.|
Method 2 is the default process.
Planned process improvements
The inability to test custom extensions, associated with the linking mechanism for custom extensions, should be fixable so a user story has been created. Once that has been done, the weakness in Method 2 will have been overcome.
These are the deployment steps, which include both the Markup (Controls and Pages) and the Binary Files.
|1.||Use MECMD to upgrade all the v2 DBs on SQLSERVER2. Back up each database as a command line option with that tool. If you have to work through problems with the structure updates, test it first on a recent DB copy on your local machine to save time. In some cases having to restore a DB requires you restart the MSSQL service to release the connections. The newest version of MECMD at Noesis (but not yet at MEC) will do the update within a transaction. If you run into errors, find the *.tmp file in the scripts folder that matches the new hash (see the console output) and run it within a transaction on the restored database. You will be able to quickly correct and test problems with the combined script.|
|2.||Use the Publish option in VS to produce *.zip files of MECWebApplication, MECWeb.REST and MECWeb.Authentication (build config Release).|
|3.||Copy *.zip files to the archive location on APPSERVER2, which contains all prior updates.|
|4.||Unzip into the production directories on APPSERVER2.|
|5.||Update the config files as needed (Web.Config, Settings.Config, and Connections.Config) for all three VS projects. This is usually the hard part.|
|6.||Confirm the IIS settings so that the v2 app pool runs in .NET 4 instead of .NET 2. This is precautionary as it should be a permanent setting that won't change on its own.|
|7.||Check the Transactions directory within each RequestResponse service (MECWeb.REST) to ensure Network Service has full permission.|