News for hackers. Stuff that matters.
Re:Let's deploy via Git by lifeisstillgood on Sunday June 23, 2013 @12:32PM (#5928152)
Aaargh !

Build on a build server

Scp to live server along with generated config

Install with native package tool and hook into native service manager

Use salt / puppet / chef to do everything after initial build on your target servers.

Be nice.

Re:Let's deploy via Git by robinson-wall on Sunday June 23, 2013 @01:20PM (#5928398)
> Install with native package tool

I'm sad that so few people seem to build native OS packages for deployments. My build system creates a release package and sticks it in an apt repo, then puppet installs latest version of package when it runs.

Re:Let's deploy via Git by rdtsc on Sunday June 23, 2013 @10:09PM (#5930583)
Second that. I think it only comes with maturity. If there is a small start-up and they have a couple of Ubuntu servers they'd start with just syncing their source repo, running 'make && make installs' by hand via ssh.

After a while if they use python, node or ruby, maybe start generating language specific packages (pip, virtualenv, etc).

Next phase is when the need for upgrade/downgrade transactions comes about, handling transitive dependencies (my package needs another package, which in turn requires a third package to be upgraded, which is a base system package to be upgraded). Now 'make && make install's looks silly and mess up the file system with left-over files. Deployment ssh scripts become a tangled mess and so on. Then slowly they think "It would be cool if there was a system created that can transitively handle package versions, and maybe provide transactions with pre and post install scripts".

If they are lucky, someone will point them to apt or rpms or they'll write a broken version of those things from scratch.

Re:Let's deploy via Git by zmmmmm on Monday June 24, 2013 @12:23AM (#5930974)
Would make your deployment system very OS dependent. All other things being equal, I would generally prefer to have a completely platform agnostic mechanism over something platform specific.
Re:Let's deploy via Git by AgentIcarus on Sunday June 23, 2013 @01:53PM (#5928555)
I've just started looking at this sort of thing - can I ask what technology you decided on for the apt repo?

(I'm especially interested in whether the restriction most of them impose on having multiple versions of a package is something you are dealing with).

Re:Let's deploy via Git by Tobu on Sunday June 23, 2013 @02:51PM (#5928860)
I use mini-dinstall for repos. Multiple versions would complicate things however; I'd probably do it by combining multiple suites.
Re:Let's deploy via Git by robinson-wall on Saturday June 29, 2013 @07:42PM (#5964112)
Late reply, sorry. I went with reprepro to maintain my apt repo.

It's nice, but has one major drawback which may be a showstopper, depending on your use case. It can only keep one version of a package at a time in each distribution.

Re:Let's deploy via Git by jahewson on Sunday June 23, 2013 @02:54PM (#5928869)
Yes, exactly. Some of us still have compilers! Or more than one git repo.
Re:Let's deploy via Git by viraptor on Sunday June 23, 2013 @07:05PM (#5929948)
Or have library dependencies that aren't all dumped into some vendor directory, but actually need a system-wide upgrade.