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:

25961 questions
8
votes
3 answers

Heroku push: gzip stdin not in gzip format

When I try to push an update to Heroku in one of my PHP apps I get the following problem: Counting objects: 25, done. Delta compression using up to 4 threads. Compressing objects: 100% (12/12), done. Writing objects: 100% (13/13), 1.20 KiB,…
Wim Mostmans
  • 3,485
  • 1
  • 20
  • 20
8
votes
6 answers

Maintaining JNDI across multiple instances of Tomcat

I am wondering how people manage maintaining JNDI resources across multiple instances of their Tomcat Application server. Lets take, for example, my database JNDI resource. It is declared within my /conf/context.xml file and references from my apps…
Ish
  • 1,855
  • 5
  • 24
  • 32
8
votes
1 answer

Fabric equivalent in Haskell?

Is there a Haskell tool equivalent to Python's Fabric? Something to automate deployment to the production server? Here are some of the things I want it to do (that I don't want to write in bash): Ability to give it the "version" number to deploy …
Andriy Drozdyuk
  • 58,435
  • 50
  • 171
  • 272
8
votes
6 answers

Referencing the current server in Capistrano task

How would I reference the current server in a Capistrano task? I want to curl a local file to clear the APC cache but the server does not listen on localhost so I need the server's IP address. For instance, role :web, "1.1.1.1", "2.2.2.2",…
Brad Dwyer
  • 6,305
  • 8
  • 48
  • 68
8
votes
3 answers

Finished coding desktop app in Qt. How to deploy and distribute it?

Ok, this is indeed a newbish question but I have to take a first step somewhere. I've just had experience with DevC++ console applications, which means a simple .exe would be produced from the compiling, running from cmd. That was all, you could…
Dimitris Sfounis
  • 2,400
  • 4
  • 31
  • 46
8
votes
4 answers

Is there an explanation behind the error "The type or namespace name 'Script' does not exist in the namespace 'System.Web'"

I made an "ASP.NET Empty Web Site" in Visual Studio Express 2010. On a code file in the App_Code, I have the line "using System.Web.Script.Serialization;" When I pushed the files to the server, I got the following error: Exception message:…
dochoffiday
  • 5,515
  • 6
  • 32
  • 41
8
votes
3 answers

Why is my project's assembly missing from the package when I debug?

I've got a SharePoint project that I've been debugging for some time without problems. Today I added a feature receiver to the project's only feature. I've not yet changed anything about the empty receiver class that Visual Studio adds by…
lance
  • 16,092
  • 19
  • 77
  • 136
8
votes
3 answers

Automatically setup jenkins users with CLI

I did not find any reference to user related commands for the jenkins-cli tool. I need this to automate deployment. Any comeback?
Arnaud
  • 1,121
  • 1
  • 11
  • 26
7
votes
2 answers

MySQL change database with variable value

I am setting a variable, and then I want to use the USE command to change the database. Unfortunately USE doesn't evaluate the variable. SET @con="testDB"; Query OK, 0 rows affected (0.00 sec) select @con; +--------+ | @con | +--------+ | testDB…
bioShark
  • 683
  • 8
  • 15
7
votes
3 answers

Deploying a WCF Service

I am using WCF for the first time. I Have successfully created the service and it works fine on my local machine. I want to know the steps involved for deploying the service to the client environment (including changes to the config file, IIS…
Eros
  • 683
  • 3
  • 10
  • 16
7
votes
3 answers

Deploying Django to Heroku using a Windows machine (Production server NOT development server)

I use a Windows machine and have a Django project that I have successfully deployed to Heroku, albeit using the development server. To use a production server Heroku seems to require 'Gunicorn' which does not run on Windows. This is not good for…
Kalail
  • 155
  • 7
7
votes
3 answers

Automated web deployment

I'm new to this idea but i was just wondering if there is a way or tool to automate certain tasks before deploying my website. i would like to do the following tasks with one go: minify all JS used minify the CSS minify all HTML and PHP create…
Joseph
  • 117,725
  • 30
  • 181
  • 234
7
votes
1 answer

Deploying code to production server(s) from Git

I've spent the past week reading up on Git and trying to figure out how to fit it into our company. There's a lot of information out there, and among other resources I found the Pro Git book very useful. However, one thing that remains a mystery to…
Rijk
  • 11,032
  • 3
  • 30
  • 45
7
votes
2 answers

Automatic start of Azure webrole after deploy

A have an azure webrole with a test page and a service in that role. After publishing the role it doesn't start automatically, only at first use. So if the role is shut down for some reason the first usage after that is quite slow. Is there a way to…
Attila Klenik
  • 753
  • 6
  • 13
7
votes
1 answer

How to upgrade Wordpress and plugins when deploying using Capistrano?

I'm hoping someone can confirm whether or not the following scenario is an issue with deploying updates to WordPress sites and, if so, do you have a solution on how to best manage this? The basics: I have a local development WordPress Multisite…
Matt
  • 1,539
  • 1
  • 11
  • 16