ASP.NET MVC Website Deploy - deployment

We have ASP.NET MVC website deployed in IIS. Every day we keep publishing the changes into the Website. We are following the below steps
We build the source and get the assemblies from our local publishing server(Maintained in intranet).
Replace the assemblies into the website server. Here i have faced the down time.
I dont want to follow app_offiline method. Every day if we put some under maintanenence information it will be very odd for my customers.
Without downtime i need to deploy the changes.
Thanks,
Velu

Related

What's the best way to redeploy asp.net core web api on IIS without stopping the application?

For now I've to (re)deploy asp.net core web api on Windows server with IIS. I know how to deploy and its working currently in production. The issue is every time I make a change I have to stop the website/recycle the apppool to be able to copy the application dlls. This is a pain as I'm looking to ultimately setup CI/CD using some provider however without this knowledge I'm unable to move forward.

How to upload pure HTML site with TFS build

Our web site solution consists of frontend folder, where pure html/css/js application resides, and an ASP.NET WebAPI backend. I am setting up a TFS build for dev and qa environment.
Currently, I have made WebAPI backend to publish automatically via WebDeploy. Html/js fronend also has a site setup on a target IIS machine where I am trying to deploy to. But WebDeploy only works with ASP.NET sites. What mechanism I could utilize to copy files of fronend to target folder on IIS machine?
This might help:
http://www.incyclesoftware.com/2014/06/deploying-uncompiled-resources-release-management/
I haven't had a chance to test it myself yet.

Oracle ATG BCC Deployment

How to deploy an Html content to BCC server in Oracle ATG?
I need to deploy the Html page from my Bcc, so it gets reflected in my production server. I am new to ATG, so i don't know how to start with the basic scratch work.
Things i have started as a scratch.
Created the ATG project in the Eclipse and deployed to the JBOSS.
Created the database and accessed through the Repository.
Created the versioned repository and dono how to accesses it through the BCC.
After these steps, i got struck up. Is the following steps are correct for starting the ATG as a Beginner?
please give me a good suggestion or the task to learn the ATG from scratch.
BCC out of the box don't have the capability to create web pages (don't confuse it with multisite feature). Some time ago ATG was integrated with Endeca which can create pages using Expirience Manager. Now usually you will buy a bundle ATG11 + Endeca.
You have few alternatives to that, usually paid extensions. First is using ATG Sitebuilder plugin delivered by a company called Spindrift. It extend BCC and gives you possibility to build pages from blocks.
Next paid is APF (ATG Portal Framework) from company AMG.net, it gives you possibility to manage pages and content of those pages with nice live editing tool.
Other solution is to create dedicated repository with HTML spinets and use simple ootb droplet (e.g. RepositoryLookup) to show that content.

how can I set up a continuous deployment with TFSBuild for MVC app?

I have some questions around the best mechanism to deploy MVC web applications to different environments. Previously I used setup projects (.msi's) but as these have been discontinued in VS2012 I am looking to move to an alternative.
Let me explain my current setup. I currently have a CI setup using TFSBuild 2010 with Team Foundation Server for source control.
A number of developers work on their local machines and check in to the TFS Server. We regularly deploy to a single server dev environment and a load balanced qa environment with 2 servers. Our current process includes installing an msi which carries out some of the following custom actions:
brings current app offline with the app_offline.htm file
run in database scripts (from database project in the solution)
modifies web.config (different for each web server of qa)
labels the code
warmup each deployed file via http request
etc
This is the current process. Now I would like to make some changes. Firstly, I need alternative to msi's. From som research I believe that web deploy via IIS and using MsDeploy is the best alternative. I can use web config transforms for web config modifications. Is this correct and if so, could I get an outline of what I need to do?
Secondly I want to set up continuous delivery via TFSBuild, I have no idea how this may be achieved, would it be possible to get an outline of how it can be integrated in to my current setup? Rather than check in driven, I would like it to be user driven following check in. Also, would it be possible for this to also run in database scripts from a database project in the solution.
Finally, there is also a production environment, but I would like to manually deploy this - can my process also produce an artifact that I can manually install?
Vishal Joshi has some information on his blog that is reasonably good, http://vishaljoshi.blogspot.com/2010/11/team-build-web-deployment-web-deploy-vs.html. It does have the downside that your deployment password is include in the properties you pass to msbuild.
Syed Hashimi has also posted some information on this in another questions Team Build: Publish locally using MSDeploy.

How Do I deploy an application to IIS while that web application is running

Where I work, we release bug fixes in to the system every night when we know our clients are not using the system.
Trying to take a step towards better service I'd like to deploy to IIS while the application is running.
A solution that comes to mind is to setup two different IIS applications and switch them over after deploy using a script. But I'm not going to try this out as I don't want any complications during our busy hours.
Does anyone have experience in this area of deployment?
Thanks
Regardless of whether you're using PHP, ASP, ASP.NET etc there is no native support for transactional deployment on IIS.
The simplest approach would be to have two physical folders and (optionally two web sites - one production, one test) on your web server, for example:
c:\websites\myapp\dep1
c:\websites\myapp\dep2
Initially your site would have its physical path pointing to c:\websites\myapp\dep1.
When you deploy your latest build you'd deploy into c:\websites\myapp\dep2. Once you're done just switch the physical path of the production site over to this folder. This means you still have the original site and can fall back to it if the new code fails for whatever reason.
The next time you do a deployment you'd deploy into c:\websites\myapp\dep1 and once you're done switch the production site to that folder.
You could optionally have a test site that points to the folder you're deploying to so you can make sure the site works before switching your production site over.
This could all be scripted.
Here's some related reading that may be of interest:
Publishing/uploading new DLL to IIS: website goes down whilst uploading
Is smooth deployment possible with componentized ASP.NET MVC apps?
Rob Conery also had an excellent blog post about the lack of a decent deployment story for ASP.NET application. You should take a trawl through the comments some of which are quite insightful:
ASP.NET Deployment Needs To Be Fixed
Getting Constructive On ASP.NET Deployment