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
7
votes
1 answer

artifactory 404 artifact not found

I'm using curl to deploy an artifact to a repository and on the initial PUT the artifact successfully gets deployed to the repo. When I try to PUT the same artifact to the same repo I get a 404 "Could not locate artifact". If I go through the UI I…
user2762571
  • 81
  • 1
  • 4
7
votes
2 answers

NetBeans - "sun-resources.xml" vs. "glassfish-resources.xml"

Do you know how Netbeans decides which filename to use for the application-scoped resources: sun-resources.xml or glassfish-resources.xml? Is this name configurable or hard-coded? As far as I understand GlassFish supports sun-resources.xml for…
Ebeneezer
  • 89
  • 5
7
votes
2 answers

How to handle C extensions for python apps with pip?

For python applications that install with pip, how can you handle their C extension requirements automatically? For example, the mysqlclient module requires development libs of MySQL installed on the system. When you initially install an…
user1529891
7
votes
1 answer

Setting Up Continuous Deployment of a WPF Desktop Application

For a project I am currently working on, I need to create a setup application for an existing desktop application. The setup application will be downloaded from a website, and will download required files to the correct locations. When the…
7
votes
1 answer

Skipping deployment with the npm provider because this branch is not permitted to deploy

I am trying to build and deploy my npm package to npm registry automatically upon push to master branch. Here is my .travis.yml file content: language: node_js node_js: - '0.11' - '0.10' deploy: provider: npm api_key: secure: XXX on: …
Rana
  • 5,112
  • 10
  • 49
  • 86
7
votes
2 answers

Copying an untracked folder to another branch

Is there a way to copy an untracked folder to another branch? I know you can copy tracked folders to another branch by doing something like this: git checkout mybranch git checkout master -- myfolder But is there a way to copy a folder that isn't…
risto
  • 1,204
  • 8
  • 11
7
votes
2 answers

Add stdin as another file to a tar archive

I am trying to add a file to a tar archive from a program output without generating it on disk first. Think of a file VERSION, that is autogenerated, when the build script runs. I tried this but the dereferenced symlink is only a named pipe, not a…
Boldewyn
  • 75,918
  • 43
  • 139
  • 205
7
votes
2 answers

Using Wix to Deploy an Outlook Add-In

I have a requirement to create an installer for an Outlook 2003 add-in that was created with VSTO. We currently are using Wix for our installers as they play nice with MSBuild and I need to use it to create the installer for the outlook add-in. I…
Burt
  • 7,500
  • 18
  • 67
  • 121
7
votes
2 answers

Mono mkbundle throws 'IKVM.Reflection.BadImageFormatException'

I've been trying to compile or bundle my application using mkbundle. This is the script I'm executing: set -o errexit set -o nounset mono_version="3.2.3" export…
Stijn Bernards
  • 1,095
  • 11
  • 29
7
votes
1 answer

deploying winform application with embedded sqlite

I'm deploying a winform application built with vs 2008 0n XP sp3. I created a database with empty schema which i dropped in the root folder of the project and in properties i choosed Build Action: Embedded Resources and Copy to Output directory :…
black sensei
  • 5,974
  • 21
  • 103
  • 178
7
votes
4 answers

How do develop a Java web application without having to deploy all the time

I've set up a simple Eclipse 3.5/Jetty 6.1 web app which returns hello world. It works. This is on Windows and uses the "Jetty Generic Server Adapter". I have auto deployment working so that it deploys after changes periodically. How do I go…
7
votes
5 answers

CakePHP, CodeIgniter or Rails for multi-user Tumblr clone?

I'm about to start building a tumblr clone that handles multiple users (so premade clones like Gelato won't cut it) and I'm not sure which framework I'd like to build this is. Right now, I'm only intending to build a prototype. Something I can get…
Jordan Feldstein
  • 9,671
  • 9
  • 44
  • 78
7
votes
4 answers

Application has failed to start ... application configuration is incorrect - VC++ 2005 Runtime Problem

We moved our Visual C++ 2003 solution to Visual 2005 and now we have problems deploying to clean XP machines. Our solution has a DLL project and a command line executable which uses this DLL. Both projects create and embed manifest files. Our…
Paul Baumer
  • 323
  • 1
  • 4
  • 9
7
votes
1 answer

Wix Setup to deploy nuget packages

How to author nuget packages required for a .net application in a Wix Setup? At present, we have 100 projects, each using different sets of nuget packages. And, we are manually adding a component for each assembly required for the application. This…
jero2rome
  • 1,460
  • 1
  • 19
  • 36
7
votes
1 answer

How to prevent Android app from getting uninstalled during deployment with Xamarin Studio?

Every time I deploy a new version of an Android app with Xamarin Studio the app gets uninstalled first and then installed again. This is causing some problems for me because I'm using XPrivacy on my devices. I wonder if there is a way to simply…
kaolick
  • 4,547
  • 4
  • 40
  • 53