[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

RE: automated software packaging and release scripts?

From: Shawn Talbert <stalbert_at_exploreconsulting.com>
Date: 2007-12-10 17:52:44 CET

First, I strongly recommend choosing SFTP over FTP.

For most of the commercial apps I've been involved with, tagging a release
does not (and should not) immediately push anything to production. The
production deployment process should be an automated but intentional
separate event. To make it easy I recommend integrating it into (perhaps
existing?) build scripts (e.g. on UNIX makefiles and ilk, on Windows Nant or
msbuild) as a separate target.

Using this approach it makes it easy to do the whole enchilada (build, test,
tag, package, deployment) automatically via target dependencies if you
really want to go against my advice :) I'd recommend a target chain like
"build,test,tag,package" at most, leaving a "deployment" target for a
separate step made by humans. In this scenario, the deployment task would do
the SFTP transfar or use an "SFTP" task.

I do concede that some websites may want completely automatic behavior (the
nature of their content or content creators is to constantly push to
production like wild chickens).

-----Original Message-----
From: John Peacock [mailto:john.peacock@havurah-software.org]
Sent: Thursday, December 06, 2007 12:04 PM
To: Reuben Avery
Cc: users@subversion.tigris.org
Subject: Re: automated software packaging and release scripts?

Reuben Avery wrote:
> I would really like to find some nicely developed SVN automation scripts
for
> packaging and releasing (in our case primarily web sites) via FTP.

I don't know what extent you want to automate it, but you can use
SVN::Notify::Snapshot to create tarballs and SVN::Notify::Config to
filter it so that snapshots are only created when (for example) a tag is
created that matches a specific regex.

If you are only talking about promoting a given tag to a remote website,
check out SVN::Notify::Mirror, which can push the files out via SSH or
RSync (FTP is so 1990's). If you really needed to use FTP, I could
probably do something pretty quickly (I haven't needed that yet, nor has
someone sent me any patch). The password would be in the post-commit
file itself, not in the repository anywhere, so there would be no way
for the developers to know it (unless they have rights to the
post-commit script, that is).

If you are talking about actually compiling, testing, and packaging up
an executable bundle, I haven't written that part yet... ;-)

John

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Mon Dec 10 17:53:08 2007

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.