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
2 answers

Wrote an SDL game using C++ and want to deploy it

I wrote this really simple game in SDL using C++ and now I want to show it to some of my friends who are using Windows. I wrote my program in Ubuntu 9.10 using Code::Blocks. I want to take my source code and make a Windows installer so they can…
TheFuzz
  • 2,607
  • 6
  • 29
  • 48
8
votes
2 answers

How to deploy only modified/new files GIT+Jenkins+PHP?

I am trying to use Jenkins CI server for my PHP application. As we are using our Git repository so i am using jenkins's git plugin to take files from central repo. Currently when my jenkins job runs it takes files from git repo & make a build but…
Peeyush
  • 4,728
  • 16
  • 64
  • 92
8
votes
4 answers

How do I ensure my winform application deployment overwrites old versions

I have created a msi install package for my project from the VS2008 deployment project. but I am having problems when it comes to upgrading installs, The previously installed version does not get overwritten. How do I ensure that previously…
fishhead
  • 5,829
  • 7
  • 32
  • 43
8
votes
1 answer

Is is possible to deploy a Docker image straight to AWS?

I'm having a tough time wrapping my brain around the possibilities of Docker, so pardon my ignorance here: Can I take a Docker image of a database server that I've created, and deploy that straight to a fresh EC2 server via some mechanism? Or, would…
orokusaki
  • 55,146
  • 59
  • 179
  • 257
8
votes
3 answers

Heroku-like deployment and environment configuration via EC2

I really like the approach of a 12factor app, which you are kinda forced into, when you deploy an application to Heroku. For this question I'm particularly interested in setting environment variables for configuration, like one would do on…
8
votes
1 answer

Using Gradle Cargo plugin to deploy to multiple environments

I am trying to have multiple Gradle tasks in my build.gradle file to deploy a war to different environments. I want to be able to have a deployToLocal task along with deployToQA and deployToDev, after a war file has been generated. Of course, this…
Deb Dey
  • 325
  • 2
  • 5
  • 10
8
votes
2 answers

MSVCR100.dll not found error even when it is installed

i get the following error when i try to run an exe on a x64 machine that was build for x86 CPU using the MC++ compiler (vs2010) on a x86 machine: i already have visual studio 2012 (along with Visual C++ 2012 Update 4 redistributable- both x86 and…
8
votes
2 answers

How to Deploy a jar File on a remote server from within Netbeans?

I have developed a server [server.jar], and it is now working well (on my localhost). Now I want to "put" this server.jar on my remote server (ie: 122.152.12.33) and run it there, so My client application Replace "Localhost" with this ip and connect…
EsmaeelQash
  • 488
  • 2
  • 6
  • 20
8
votes
3 answers

What is the easiest way to update a .NET Windows service in production?

Say, you have a custom Windows service installed on a server. The service is written using .NET, and it is installed using either InstallUtil, an MSI package or the ManagedInstallerClass (if it makes a difference, pick the one that solves the…
Jørn Schou-Rode
  • 37,718
  • 15
  • 88
  • 122
8
votes
2 answers

Capistrano 3.0 — How securely prompt for password now?

Prior to 3.0 there was a way to do that: # ... set :mysql_password, proc { Capistrano::CLI.password_prompt "Gimme remote database server password. Don't worry, I won't tell anyone: " } # ... namespace :db do desc 'Dump remote database' task…
jibiel
  • 8,175
  • 7
  • 51
  • 74
8
votes
4 answers

[program name].exe has stopped working

I have a .NET application that was built on Framework 2.0. I've built an installer for it and am trying to run it on a machine that has 3.5. All relevant environments are on Windows 7 The application runs perfectly in VS debug mode on my…
Mac
  • 369
  • 1
  • 4
  • 11
8
votes
1 answer

Deploy a docker container to production

I have create a docker image on my dev machine and tested my RAILS code on it. The container uses code from the host this way : docker run -v [/path/to/dir/to/mount/on/local/machine/]:[/desired/path/in/docker/] -p [port to forward] -i -t [name of…
user2854544
  • 851
  • 1
  • 11
  • 23
8
votes
1 answer

How to incorporate version control (Git) in a large Lotus Notes project

We are maintaining a large website based on Lotus Notes, running on Domino Server 8.5.3. Recently we have been fed up with the lack of source control in our project, so we thought we would try to Git things up a little. But how to do this right? For…
8
votes
2 answers

Kendo MVC not Displaying Sprites.PNG 404 Error

Vs'12 Internet Application Template + KendoUI - MVC4 , EF Code First Followed KendoDocumentation Adjusted using kahanu's Awesome post Everything worked great, so i turn from true to false Kendo UI…
8
votes
3 answers

Best Practice: Erlang Application Deploy on windows

When deploying a ready to use erlang application I don't want the user to Find the right erl release on the internet. Install the erl vm unzip and decide a location for the beam files (with the application) read a readme modify anything that even…
Jonke
  • 6,525
  • 2
  • 25
  • 40