Showing posts with label deployment. Show all posts
Showing posts with label deployment. Show all posts

Ease your Visual Studio development with a SQL Server alias

A quick little tip on how to manage connection strings in your applications with a SQL Alias that you can create with “SQL Server Configuration Manager”
SQL Server connection strings in app.config

Code52 Show and Tell: My pet project CopyCat - Lessons learned

CopyCat – A big fat cat walking and waltzing the internetz

Figure: CopyCat – A big fat cat walking and waltzing the internetz
 

I am a pretty normal geek. At least I think I am normal and a geek. I see geeks as people (yes really) that want to play with things, discover new things and build things. When geeks play with things they discover new things quite often.
(Similar story heard and “adapted” from Scott Hanselman) 
After I ‘ve discovered something I want to scream it out to someone:

“Look at this dude!! Isn’t that awesome???”

A normal reaction that you get from a non-geek:

“Wow… Is this showing the weather in form of colors that you could just get by watching out the window?”

This is the pattern for the reaction that you normally get
“Wow… Is this <something> that does <somethingUselessAtBeginning> that you could just get by doing <somethingElse>?”

Fast = $$$ How do you make sure to have a fast application?

Speed = $$$
Many articles on the web, books and statistics tell us that “faster = better” and even more important: faster = more revenue.

For Google an increase in page load time from 0.4 second to 0.9 seconds decreased traffic and ad revenues by 20%.
For Amazon every 100 ms increase in load times decreased sales with 1%.

 

Also Google uses site speed in their web search ranking. So make sure to optimize your website for speed as per my other blog post.

Is Web Performance Optimization (WPO) something for you?

It's official: Manual deployments are BAD, Automated Deployments are a WIN!

*Updated* 14 November 2011: Video is not on vimeo anymore but on tv.ssw.com

 

The video video recording of my talk "Continuous Delivery with TFS, msbuild and msdeploy" is finally online.

Please say
"Thanx" to Raj.
Thanks to Adam Cogan for introducing me so nicely, he almost got my last name right this time Winking smile

The video is on tv.ssw.com -> which just launched BTW and is a great learning resource)  
and embedded here


Figure: Video recording of Continuous Delivery - SSW Sydney User Group - Peter Gfader

 

Have fun and send me some feedback

 

My related blog posts about Continuous Delivery

  1. The pain with deployments can be found in this blog post.
  2. How to and some tips and tricks for TFS2010 regarding deployment

The slides are on SlideShare

Continuous Delivery with TFS, msbuild and msdeploy

We had a great crowd last Wednesday night at the Sydney .NET UG. Thanks everyone!

For everyone who couldn't make it, ping Raj (our video guy) and tell him to get the recording up and running Winking smile
The video is online: Continuous Delivery with TFS, msbuild and msdeploy!


Agenda of the talk

  1. Pain
  2. Goals
  3. How To
    1. Start from scratch
    2. Existing System
  4. Best Practices

 

Tired of manual deployments?

Have you ever come across this?

"Only Bob knows how to deploy... And he is on holidays..."

Or maybe this…

You spent an hour on a bug fix,
   but customers will not see it for months

TFS 2010 Build - Lesson learned --> Treat warnings as errors

We came across a weird issue with our TFS 2010 build server. We have an MVC3 web application where we added a new Silverlight application. Since we added that Silverlight application our build fails. We get error messages like these:

#1
image C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets (1852): Copying file ClientBin\BuildAuction.xap to obj\Release\Package\PackageTmp\ClientBin\BuildAuction.xap failed. Could not find file 'ClientBin\BuildAuction.xap'.

#2
image Copying file C:\Builds\4\WoolTradePlus\WooltradePlus - Build and Test on Checkin\Binaries\BuildAuction.xap failed. Access to the path 'C:\Builds\4\WoolTradePlus\WooltradePlus - Build and Test on Checkin\Sources\trunk\WoolTradePlus\MvcApplicationXXX\ClientBin\BuildAuction.xap' is denied.

image
Figure: Spiderman and Batman to the rescue


Here is my journey to fix this problem

Running NUnit Tests in TFS 2010 Continuous Build Environment

I tried different ways to run nunit on our build server.
From
"NUnit for Team Build", to "executing nunit-console on cmd" and eventually customizing our project files…
None of those methods made me happy.
image
Figure: Sad - Broken builds and mucking around with XML make dev's unhappy

TFS - Fail a build when the warning count increases

I am a big fan of "measuring", because what you don't measure you can't improve.
Measuring over time allows us to establish a trend and the trend is often more interesting that the hard numbers.

Trends that might be interesting are:

Silverlight - 5 easy steps to obfuscate auto-magically on the build server

Disclaimer
Before you start flaming me, I am aware that all business relevant code and IP stuff must be on the server side. Just funny how much bit**** you see in forums and stackoverflow if you search for "Silverlight obfuscation"

Problem

With tools like Reflector, ILSpy (which is a good Reflector replacement BTW, since Reflector is not free anymore) and Silverlight Spy, it is VERY easy to look into Silverlight XAP files and discover some interesting stuff. We cannot completely hide our source code, but we can at least make it harder to disassemble and see.
If you are a serious Silverlight developer, make sure to get a copy of Silverlight Spy. No, I am not related to them, working for them nor affiliated.

 

Do you automate your deployment process? (aka Continuous Deployment)

As you may know I am a big fan of automation. I try to automate as many things in my life as possible.
Major reason for automating, is:
I don't have to worry about those "things" anymore, and can focus on other nice "things".

"Things" to automate:

Let me know what you automate in your life!

log4net – How to change settings of an appender at runtime

I found this awesome blog post about 4 tips on log4net from the year 2005.

Since the code is out to date I post here my update.

2 nice things:

  1. I use EntityConnectionStringBuilder to extract the database connection string from an entity framework connection string
  2. If my log4net connectionstring, holds {auto} , we replace it, otherwise we wont
    (so that we can change the logging database, if we want to)

Roaming User Config File - IMPORTANT on Terminal Server

Problem:
On Terminal Server all User Settings for a Winforms Application get lost on logout (logoff)

The Settings are written to:

\Documents and Settings\"username"\Local Settings\Application Data\...


but this folder is not saved in the Active Directory like the folder:
\Documents and Settings\"username"\Application Data\...


But in the Settings Designer we can change a flag IsRoaming that says where the .net Configuration System should save the settings!
(click picture)



Solution from
Client Settings FAQ

Latest Posts

Popular Posts