|
Also, just remembered one more thing. We also set the machine key in the web.config. I think this was mainly done so things like view state don't get wonked across different load balanced machines, but it may also affect how things work across updates/restarts, so it's probably a good idea to set that too.
|
|
|
|
|
Yes, most definitely. From the moment I check code into source control, I can get it through stage and out to production in about 20 minutes. We use web farm framework[^] automated through powershell to deploy to production without down time. In order to make it work, we separate our sql scripts into a before code deploy and after code deploy folder. Doing that, we usually only have 1-2 builds a year that require any major down time. We are about to do one next week when we move to a clustered database.
The biggest benefit I've seen is that we can do updates at the beginning of the work day, so if there are issues we are fresh and can come up with better fixes than after hours. Also, I'm a big believer in the guy that pushes the release to production button having all the resources to fix any issue that is likely to occur. We have an ops team, but I'm a full admin on the web and database servers for my apps, so if there is a problem I can take any action needed and then follow up with everyone when it is fixed.
|
|
|
|
|
That sounds pretty darn amazing, and I'm amazed that my company isn't doing that or similar. However, we are currently doing some major analysis that is sure to bring about some huge changes, so I'm going to do my best to ensure part of what changes is the deploy process.
|
|
|
|
|
Setting it up and testing took at least a week of full time work by me, so it did cost a bit of feature development time, but the piece of mind and flexibility it got us has more than paid off.
|
|
|
|
|
AspDotNetDev wrote: I even wrote an article
AspDotNetDev wrote: to completely avoid downtime.
Please send that link to Apple, they seem to take the whole Apple Store down after every single keynote announcement.
|
|
|
|
|
We use a script to zip all files from the staging machine and copy the zip to our four live-servers.
Over there we have a little winforms-tool (written by ourselves) to unzip to a release-x.y.z-folder and replace the stagin web.config with the live web.config.
This is usually done in the eveneing before going live.
The next morning we use the same winforms tool to select the release folder, hit publish and it just changes all path-mappings in IIS to the new folder.
If soomething goes wrong we select the old (working) release-folder, hit publish and IIS-mappings are set to this folder.
Remapping is faster than you saying "publish!".
Downside: We have to do it four times (on each server).
|
|
|
|
|
Sounds like a good approach. Do you have a way to "prime" the website before the switch occurs? For example, whenever I change a DLL or web.config, the website has to recompile, and any unique page/masterpage has to recompile. Do you have a way of "visiting" some pages before making the switch to ensure everything is running smoothly?
|
|
|
|
|
Our site is already precompiled ([^]), but we also make requests to some "wake-up-pages".
|
|
|
|
|
For IIS static web sites, just have a full copy of the modified site sitting in a unique folder:
site/
v1/ <- current site, web site home directory
v2/
Just update the web site home folder and click OK.
site/
v1/
v2/ <- current site, web site home directory
Just ensure that any cacheable resources are touched to force an expiration if they change from v2 to v1. (Unless you defeat caches)
This also makes it super easy to fail back from v2 to v1. Again you have to be careful of timestamps.
I am not sure if this would work with DotNet deployments.
|
|
|
|
|
I am reworking a DevExpress-based rich text editor I started some time ago with a completely different project layout and extension management system.
There is a core library which wraps MEF and exposes it in a Plugin manager class, as well as a GNU Gettext wrapper class (which actually wraps Mono.Posix.dll), a few things from MonoDevelop (FilePath, a structure that assists with managing paths, and UserProfile, which contains properties that correspond to application directories).
I have decided to go back to Mono.Addins, as MEF is proving to be a little on the confusing side.
I am still working on the core library, which will have code from a number of different places. It won't be done for a while, though.
I will be releasing the source for the application, and I will post back here when I get it working(ish). If anyone wants to look at the core library, or any other part of the application, now, I will upload the source to Github. Anyone who wants to help with development, translations, and so on is welcome.
I will also place more information in this post (or my replies to questions) if it is requested.
Gryphons Are Awesome! Gryphons Are Awesome!
modified 21-Jun-13 16:49pm.
|
|
|
|
|
write an article.
Nihil obstat
|
|
|
|
|
Brisingr Aerowing wrote: Anyone who wants to help with development, translations, and so on is welcome.
I can't take on something that's in Mono (I'm currently already balancing .NET / C# with Ubuntu / Ruby on Rails), but if you ever do anything in either of those environments, I'd be interested.
Marc
|
|
|
|
|
This is a WinForms project. Not Mono.
Gryphons Are Awesome! Gryphons Are Awesome!
|
|
|
|
|
Brisingr Aerowing wrote: This is a WinForms project. Not Mono.
Ah, I got confused when you write that you were going back to Mono.
Marc
|
|
|
|
|
Mono.Addins is an extensibility framework. It works, but is slightly non-intuitive, but it works better than MEF (no weird exceptions).
Gryphons Are Awesome! Gryphons Are Awesome!
|
|
|
|
|
My lovely bride texted me to say she was going out for lunch and suggested I do the same since she planned a later than normal dinner. Let the adventure begin...
Why I chose Wendy's... I don't know. I don't usually eat fast-food but none of my other haunts appealed to me. I consider Wendy's to be a grade above most of the others so there you go.
The fun started about 1/4 mile away when I pulled up behind a 30 foot long Mercury. The passenger appeared to be a 90 year old woman. The driver may have been her father or grandfather, I'm not sure. Took FOREVER to move 100 feet in a straight line - even longer to negotiate the two 90 degree turns.
Finally I park and walk inside. 3 people (actually 2 individuals and 1 mother with 2 young daughters) in line ahead of me... not bad. Fast forward 15 minutes, I'm still in line - 2 others have gotten in line behind me only to leave irritated / empty-handed.
I notice that both daughters of the woman in front of me are sporting iPhone 5's and texting at a furious pace. I'm not too irritated until the woman tries to pay with her state issued food assistance card. Poor baby had to use her drug money cash.
Finally I get my food (which was actually fresh and hot) and sat down. Now it's time to eat and people watch. Eventually another set of patrons sit in a table nearby. Both in their mid-50's, the man looked pretty normal - the woman was particularly harsh. The stained purple tank-top reading "Vampires Love You Forever" barely covered her gut and did not cover really bad ink all over her upper body. Most of the tats were merely symbols or tribal, others looked like they may have been done "inside". wink wink But all of them looked dull and smudged as the cheap ink bled into the surrounding skin.
My appetite now shot I decide to leave. "Adventure over", right? Not quite..
Just as I walk out the door towards my car a teenager in a small pick-up skids past the back of my car and smashes into the side of the real estate office next door. A cop in an adjacent parking lot saw the whole thing.
Anybody else have an eventful lunch?
Government is not reason; it is not eloquent; it is force. Like fire, it is a dangerous servant and a fearful master. ~ George Washington
|
|
|
|
|
Mike Mullikin wrote:
Anybody else have an eventful lunch?
Don't know yet, I've had a nice Caribbean Roti for lunch.
Nihil obstat
|
|
|
|
|
Whoa, sounds more like a bogus journey.
Haven't eaten lunch today, though yesterday somebody almost sideswiped me, but I swerved away just in time.
|
|
|
|
|
Mike Mullikin wrote: Anybody else have an eventful lunch? Nope. Picked up some Popeye's for my self and brought it back to the office.
Also, if I were you, I would have gone to Jaenicke's again...
The United States invariably does the right thing, after having exhausted every other alternative. -Winston Churchill
America is the only country that went from barbarism to decadence without civilization in between. -Oscar Wilde
Wow, even the French showed a little more spine than that before they got their sh*t pushed in.[^] -Colin Mullikin
|
|
|
|
|
Nothing much happens in the canteen.
"If you think it's expensive to hire a professional to do the job, wait until you hire an amateur." Red Adair.
Those who seek perfection will only find imperfection
nils illegitimus carborundum
me, me, me
me, in pictures
|
|
|
|
|
I'm moving at end of week and have been rushing around trying to get things done, so I take a baggie of change to cash in and the baggie opens up and spills about $50 worth of it on the ground in front of the store. I get it all scooped up and when I stand my 15 year old Keno flip-flops break. I get home and apply some 5 min. epoxy to the front door that my son broke when he forgot the keys while I was camping last week. That was 4 hours ago and the epoxy has still not cured. What else could go wrong...(ducks).
[edit]
and I just got a message that I'm going over minutes on my cell plan @ .45/min. Joy, I will never say what else... again!
[/edit]
|
|
|
|
|
Mike Hankey wrote: I just got a message that I'm going over minutes on my cell plan @ .45/min. Joy, I will never say what else... again! <Will McAvoy>Wait, there are still cell plans with limited minutes?</Will McAvoy>
Government is not reason; it is not eloquent; it is force. Like fire, it is a dangerous servant and a fearful master. ~ George Washington
|
|
|
|
|
Yeah and it's a flip phone with no text or data plan. Just changed provider and during move just carrying the bare minimum until I get settled then I might get texting.
|
|
|
|
|
A lady I know is a single parent looking after her two daughters after hubby upped and left.
She's unemployed and poorly educated, but does the best she can.
ex-Hubby occasionally shows up and throws some money at the kids - buying extravagant gifts for them - presumably in an attempt to buy their affection.
They're generally a happy mother and daughters.
Yesterday they went to Wendy's for lunch. Took ages to be served, and Mum was already stressed as she didn't have much money, but she'd promised the girls a treat (it was one of their birthdays recently, and Dad had bought both daughter's iPhone 5s)
When it came time to pay, her food assistance card wouldn't cut it so she had to use cash - now she is worried where the rent will come from this month.
She would probably have coped if it wasn't for the oik behind her in the queue, looking down his nose at her as if she were worthless.
She's not vindictive, she hopes he has a nice, privileged life; that his wife doesn't suddenly up and leave him; that his employer doesn't go out of business, leaving him an unemployed single parent.
MVVM # - I did it My Way
___________________________________________
Man, you're a god. - walterhevedeich 26/05/2011
.\\axxx
(That's an 'M')
|
|
|
|
|
_Maxxx_ wrote: after hubby upped and left
I understand that relationships don't always work and sometimes one party has to leave. But I can never understand upping first. That's just so unnecessary.
BDF
The internet makes dumb people dumber and clever people cleverer.
-- PaulowniaK
|
|
|
|