Questions tagged [deployment]

A series of activities that makes a program available for use (usually in test or production environments)

Deployment consists in a series of activities needed to get a program available for use outside a development environment (for example on web sites, PCs, smartphones and/or tablets).

At a high level, deployment activities need to:

  • compile the program in a suitable packaging format;
  • distribute the program to the final environment (e.g. via the Internet, an app store or CDs);
  • install dependencies (usually libraries, runtimes and application servers);
  • configure the target environment (e.g. where the database is or runtime parameters of the application server).

A deployment can be done in several ways according to the program type, for example:

  • to deploy a web application written in Java we can add JARs to web containers;
  • to deploy a desktop application on Windows we can create a setup program and burn it to CDs;
  • to deploy an application to a cloud environment (like Heroku or Windows Azure) we can use ad-hoc programs or widely known programs like git that trigger a series of operations on the server side;
  • to deploy an application to an app store we may need to send the application to the store owner for approval. If the application is approved then the store owner will publish the new version, making it available to the users;
  • a deployment may require to distribute specially configured virtual machines with the right version of software and dependencies.

There are many challenges in deployment revolving around two main themes:

  • to ensure that programs exhibit the same behavior in production as they do in testing and development. To achieve this, usually there are several test environments (beyond development) in which the software is deployed and tested thoroughly before being released in the production environment. is the strategy of deploying to a subset of users to detect production-only errors with minimal user impact.
  • to be able to rollback to a previous stable version in case the current version behaves erratically. The deployment environment may help by providing some facilities to retain previous versions and install them when needed. is a deployment strategy which enables fast, robust release and rollback.

Frequently Asked Questions

People often ask about these topics:

22585 questions
115
votes
2 answers

Configuration With Same Name Already Exists

I have a solution with 10+ projects (VS2010 SP1). I have the following configurations defined in the solution: Debug Debug-QA Release-UAT Release-Production This allows me to easily setup specific settings for each deployment scenario. However,…
Josh M.
  • 23,573
  • 23
  • 96
  • 160
110
votes
18 answers

Android Studio not deploying changes to app

Sometimes this scenario occurs when developing. I would make a change in my source code, hit save all and then run but the change wouldn't be apparently not reflected in the app -(I'm using a device for testing). I can even uninstall the app on my…
Simply Brian
  • 1,241
  • 2
  • 8
  • 8
109
votes
7 answers

How do you migrate an IIS 7 site to another server?

I'm wondering what is the best practice for moving a website to another server (along with all settings, etc.) Manually recreate the site on the new server (not maintainable for obvious reasons) Copy the applicationHost.config settings file Use…
Kalid
  • 20,388
  • 14
  • 40
  • 45
108
votes
13 answers

Error when deploying an artifact in Nexus

Im' getting an error when deploying an artifact in my own repository in a Nexus server: "Failed to deploy artifacts: Could not transfer artifact" "Failed to transfer file http:///my_artifact. Return code is: 400" I have Nexus running with one custom…
acimutal
  • 1,935
  • 2
  • 14
  • 22
104
votes
13 answers

How do you deploy your ASP.NET applications to live servers?

I am looking for different techniques/tools you use to deploy an ASP.NET web application project (NOT ASP.NET web site) to production? I am particularly interested of the workflow happening between the time your Continuous Integration Build server…
Darin Dimitrov
  • 960,118
  • 257
  • 3,196
  • 2,876
99
votes
3 answers

How do I update a Tomcat webapp without restarting the entire service?

I'm new to Tomcat. We have a dev machine with about 5 apps running. Even though it's dev, it's used by our clients pretty heavily during testing. So say we need to make one small change on one class file. Right now, we have to shutdown Tomcat…
cbmeeks
  • 10,718
  • 18
  • 79
  • 134
99
votes
19 answers

What's the foolproof way to tell which version(s) of .NET are installed on a production Windows Server?

This question is not so much programming related as it is deployment related. I find myself conversing a lot with the group in my company whose job it is to maintain our production Windows servers and deploy our code on them. For legal and…
Tom Kidd
  • 12,551
  • 18
  • 84
  • 126
97
votes
11 answers

Why not to deploy on a Friday?

Joel mentioned in StackOverflow podcast #24 that it's FogCreek company policy to not ship software on Fridays. However, he didn't elaborate as to why. I agree. At my employer, we deploy on Thursday nights. So we have Friday to cleanup any bugs…
Bill Paetzke
  • 12,474
  • 6
  • 41
  • 44
96
votes
3 answers

Error: "The configuration section 'system.webServer/management/delegation' cannot be read because it is missing schema

I am trying to publish a website from my computer to an IIS web server via web deploy. I have 3 servers. All servers have installed the same things (Webdeploy etc.) and the services are started (Web Deployment Agent Service and Web Management…
lucamuh
  • 976
  • 1
  • 6
  • 11
92
votes
4 answers

Git: auto pull from repository?

Is there any way to set up git such that it listens for updates from a remote repo and will pull whenever something changes? The use case is I want to deploy a web app using git (so I get version control of the deployed application) but want to put…
Li Haoyi
  • 13,576
  • 15
  • 69
  • 130
91
votes
8 answers

How to deploy Node.js application with deep node_modules structure on Windows?

I've run into a curious issue - apparently some Node.js module have so deep folder hierarchies that Windows copy command (or PowerShell's Copy-Item which is what we're actually using) hits the infamous "path too long" error when path is over 250…
Borek Bernard
  • 43,410
  • 50
  • 148
  • 224
90
votes
5 answers

Understanding Heroku server status 143

I'm wondering about Heroku server status and can't find any documentation about this topic. Example: Process exited with status 143 Can anyone explain this example? And where would I find resources for future reference?
Tien Nguyen
  • 3,798
  • 8
  • 28
  • 42
89
votes
6 answers

Can not deserialize instance of java.lang.String out of START_OBJECT token

I'm running into an issue where my deployable jar hits an exception that doesn't happen when I run this locally in IntelliJ. Exception: Receiving an event {id=2, socket=0c317829-69bf-43d6-b598-7c0c550635bb, type=getDashboard,…
Webnet
  • 55,814
  • 100
  • 278
  • 454
88
votes
10 answers

"Untrusted App Developer" message when installing enterprise iOS Application

I'm developing an enterprise application. When I was testing it in iOS8 beta I saw the following alert view: Untrusted App Developer Do you trust the developer "iPhone Distribution: ---" to run apps on you iPad? It only appears the first time. Can…
Tunyk Pavel
  • 2,363
  • 6
  • 29
  • 44
87
votes
7 answers

Slow initial server startup when using Phusion Passenger and Rails

To jump on the band-wagon of Phusion Passenger we've setup a staging server for a small rails app to test things out. So far it has been very nice to use, it makes installing/configuring and deploying apps a breeze. The problem is the site we're…
tsdbrown
  • 4,918
  • 2
  • 33
  • 39