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

How to stop threads when undeploying a Java EE application?

I undeploy my Java EE app that uses an asynchronous logger that logs in its own thread from the Drools rules engine. I use it to log decisions the rules engine makes but I cannot let it have impact on the throughput, therefore it must run in its own…
Arne
  • 249
  • 4
  • 19
8
votes
1 answer

Is the Hackage document building queue visible?

After uploading a new version of a Haskell package to Hackage, automatic document building can take some time, during with the package lacks online documentation. I'd prefer not to announce package changes until such documentation has been built. Is…
orome
  • 45,163
  • 57
  • 202
  • 418
8
votes
3 answers

Multiple Spring-boot applications running on one Tomcat

Can I have two (or more) Spring-boot applications running on one Tomcat? I have two applications packaged as war files and I would like to run them on one Tomcat server. However, when I deploy them, I get the following…
Smajl
  • 7,555
  • 29
  • 108
  • 179
8
votes
6 answers

Deploying Java Files

What are the best practices (and enabling tools) to deploy Java standalone applications along with any required jar dependencies, config files, and launch scripts? Are there any Maven plugins that easies publishing binary releases, so that users…
notnoop
  • 58,763
  • 21
  • 123
  • 144
8
votes
1 answer

Deployment with only SSH Key and dockerfile

Excuse my dev ops naiveté but I assume all you need to deploy to a machine is a proper SSH key, a port to expose, the machine's IP address a login and the code to deploy. So are there any simple solutions that deploy code to a remote server with…
GTDev
  • 5,488
  • 9
  • 49
  • 84
8
votes
3 answers

Django deployment tools

I'm looking for some tool (or set of tools) that could help me automate deploying Django projects with all required dependencies. I googled for some solutions but I am curious what are your favorite ones.
dzida
  • 8,854
  • 2
  • 36
  • 57
8
votes
1 answer

javax.security.auth.login.LoginException: unable to find LoginModule class: org.jboss.security.ClientLoginModule

Its been more than 3 days couldn't figure out what is wrong with my Jenkins. I have Jenkins job, which pull the source from Bitbucket and build and Deploy in Jboss 5.1. But at the time of deployment I am getting the bellow exception tried multiple…
Varun
  • 4,342
  • 19
  • 84
  • 119
8
votes
2 answers

Logging for application in different environment Log4j

I am developing a logging framework using Log4j. I am not able to figure out how to maintain separate log files for different environment, i.e., development, testing, staging and production.
Nrusingha
  • 853
  • 5
  • 19
  • 33
8
votes
2 answers

Why does composer removes my dependencies on deploy?

I'm having an issue with composer. I'm working with git in a local environment. I'm the only one developer. When I need some more dependencies (or need to change some versions), I edit the composer.json and run composer install locally. Everything's…
Ben
  • 845
  • 1
  • 8
  • 18
8
votes
3 answers

How to Continuously Develop and Deploy an Access 2010 Database Application

I've been developing an Access 2010 Database Application, let's call it Skill.accdb. I'm at the stage where I want to start deploying it so users can start using it and continue developing at the same time. I've been reading…
Martin F
  • 590
  • 7
  • 28
8
votes
4 answers

laravel 5 heroku 404 not found ngix

I'm getting a pretty weird error while trying to deploy a Laravel 5 application to Heroku. If I try to access my root domain https://my-app.herokuapp.com it works fine. However, if I try to access and other domain that is / something aka…
ThreeAccents
  • 1,822
  • 2
  • 13
  • 24
8
votes
1 answer

Automatic update of (Excel-DNA) XLL with Excel opened

I am developing an Excel XLL Add-In using Excel-DNA and C#. The Add-In is called MyAddIn.xll. The Add-In has been saved to the users local machines, and it has been installed/added to Excel by the following procedure: Excel Options --> Add-Ins -->…
Samuel
  • 157
  • 2
  • 9
8
votes
2 answers

Best way to deploy website - App pool start stop or website start stop

What is the best way to deploy changes to a website( replace the dlls and other required files) ? Should the website be stopped and started or should the app pool be stopped and started? I read that when a website is stopped, it still has the…
Tulika
  • 360
  • 5
  • 16
8
votes
2 answers

The anatomy of a Python web project: development, packaging, deployment

I'm new to Python (from Java+Ant) and was wondering if someone could detail how to best use Fabric+Pip+Virtualenv to set up a Python web application package skeleton. The end goal is to be able to do any of the following with a single command: Set…
8
votes
4 answers

Include GAC Assemblies in Bin

Any ideas how to force a GAC DLL into referenced? Here is my issue, I constantly use a 3rd party DLL that registers itself into the GAC, and when I use it in my project, it reads it from the gac, and when I deploy, I'm always forgetting to add the…
jaekie
  • 2,283
  • 4
  • 30
  • 52