Just how do you do manufacturing IIS internet site depoys?
So, not exactly sure if this is a Stack Overflow or a Server Fault inquiry. If I have a.NET internet site that I intend to release to the manufacturing setting, what's the most effective means to do so. Should I package it as an MSI & install? Usage nant to push the required documents up. Simply FTP the documents up making use of Beyond Compare?
Just how do you release manufacturing code? This is a Windows details instance that I'm considering below.
I would certainly better Joel's solution by recommending a Continuous Integration web server pick-up your adjustments from your resource control system. It will certainly after that construct the task. After that have it xcopy the result of the construct to a new folder. You can after that do some fast config adjustments (web.config and also app.config). Voila, all set for Xcopy!
Look into CruiseControl.NET
oh jeeez, at the workplace we have an entire group for this. They have an in - residence device that takes a web server out of the cluster/farm, releases the documents, runs the NUnits, and also includes it back right into the cluster/farm. They do this for each and every of 16 web servers. It takes hrs. The remainder people do not also have "check out accessibility".
For my individual tasks, I release from VS2005 straight to my webserver. Kinda has much less rigorous security.
Consider making use of the Web Deployment Tool from Microsoft. It was especially made to aid release internet applications and also updates to those internet applications to manufacturing IIS 6 and also 7 internet servers and also it does a far better work of the job than MSI (Windows Installer), IMHO.
Generally you utilize it by establishing a "gold master" website someplace and afterwards informing the device to evacuate the adjustments from there. It will certainly after that consider a target web server for deployment and also make any kind of adjustments essential to make it resemble the gold master (which serves for succeeding updates). It is specifically valuable if you are releasing to greater than one internet server (i.e. a ranch), and also it has assistance for releasing greater than simply documents (it can additionally take care of making computer system registry adjustments, releasing certs, SQL data sources, etc).
What I did at my previous company, which was primarily an auction/e - business website where we can not allow much downtime:
- Take a whized construct variation of the release/version to release on the construct web server
- Test it on a hosting web server which has a duplicate of the manufacturing data source and also has the very same variation of software program as the manufacturing software program. Examination that every little thing went efficiently. Otherwise reactivate the deployment of the hosting web server (yet first recover a back-up).
- If every little thing worked out : duplicate construct and also data source upgrade manuscripts to manufacturing web server to a neighborhood folder. Take a details back-up of the data source and also the ASP.NET documents (in instance something still fails). Prepare after that every little thing to make sure that I just need to click enter to release the upgrade manuscript and also the duplicating of the data source documents (note that I can a create a manuscript for this). After that launch every little thing. This is generally an issue of secs and also the customers will not see much that there has actually been downtime.
There a great deal of funnier points to do as an internet programmer. Yet this was one of the most critical component of my job.
IIS sustains xcopy deployment so simply replicating the documents need to be all you require unless you have unique needs.
One means to do it is a straightforward manuscript that makes use of ROBOCOPY to replicate the new documents to the web server.
If the website is huge and also this takes also long, make use of a variation control system. I such as Mercurial for this objective, although you need to take care that the variation control system's arrangement documents do not wind up being offered to the general public. Releasing is after that merely an issue of devoting the adjustments and afterwards looking into the most up to date variation on the web server. Along with being reliable, this permits fast rollbacks (if you marked the last excellent variation ) in instance your latest-and-greatest has a showstopper bug.
To decrease downtime, you can have the manuscript duplicate the documents to a new directory site and afterwards promptly relabel the directory sites, or transform where IIS indicate the new directory site.