P
P
patashnik2011-04-16 23:18:46
Project management
patashnik, 2011-04-16 23:18:46

How do you "deploy" to "production"?

Question to the developers or the development team, it is possible that this also applies to studios that develop and support client sites.
Let's say you are working with a certain project, so you have the environment set up exactly for your needs "development" (web server, database server, etc.). Somewhere on a separate server (maybe completely remote) the same project is running, but already in the “production” environment, intended for the end user. You are definitely working with a version control system (svn, git, etc.). At a specific point in time, a certain task was completed in the dev environment (a stable revision was fixed). And it is necessary to transfer the completed work to “production”.
The question is what tools do you use.

Answer the question

In order to leave comments, you need to log in

10 answer(s)
C
Cepega, 2011-04-16
@Cepega

I'm programming on Rails. For deployment I use Capistrano. Very comfortably.

E
Eugene, 2011-04-16
@immaculate

We have a rather primitive system. The Django project is stored in mercurial, there are two branches: staging and production. All changes (with the exception of very urgent bug fixes) go to staging by default. At release, changes from staging are pushed to production, on the server, a self-written shell script performs a pull and restarts the server. The script is run manually.
It also uses buildout, which manages all project dependencies, two configuration files. The developer environment uses a configuration that includes django-debug-toolbar that defines secure defaults (eg using a PayPal sandbox instead of a real PayPal account, etc.). The server uses a configuration without debugging tools.

A
Atrax, 2011-04-16
@Atrax

Like this :) atrax.ru/2010/12/30/git-deployment/

M
mambet, 2011-04-17
@mambet

I use maven, three profiles are configured there - dev, staging, production, respectively, the required one is specified during assembly.
In terms of branches and other things, the Maven Release Plugin is used .
This is very short.

S
Shedal, 2011-04-17
@Shedal

Sorry, but it's not at all clear what you want to hear in response to your question. After all, deployment tools are very closely related to the platform on which the application is built, from the server OS and from the web server that is used in production. Each technology has its own means.
For example, we have an ASP.NET application for which a NANT script has been written for automatic build. This script will also update the database and deploy the application to IIS.
But what use is this information to you if you have an application in PHP or Python, and everything is running under Apache and Linux?

M
mark_ablov, 2011-04-17
@mark_ablov

Own Java servlet that stupidly does svn up, and all sorts of other little things.

H
hellslaughter, 2011-04-17
@hellslaughter

phing

B
bigdogsru, 2011-04-17
@bigdogsru

In PHPStorm, I enable the option "After commit upload files to", and with each commit, it uploads the files itself.

E
eudj1n, 2011-04-17
@eudj1n

svn + redmine + hudson + ant
That's the combination :)
All code is committed to SVN, with each commit related to a specific task in Redmine.
As testing and closing tasks, with the help of Hudson (Jenkins) and ant-a, an assembly is made, and rolled into pre-production. And from there already, in case of success, to the product. Each version (build) contains a diff that can be used to roll/roll back a patch.
The scheme is complicated, but it works. Before that it was a complete mess.

B
Bambre, 2011-06-23
@Bambre

If it is the final that is of interest, a set of rpm is assembled from the git release slice, tested, and sent to the servers.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question