views:

12

answers:

1

We currently have a software which is based on PHP and lighttpd. For it to work there need to be some packages installed etc. In our company we have diffenrent kinds of servers "API Server" and "Webfrontend servers" both require some dependencies f.e. php5.3 has to be installed from dotdeb. Since we will at some point hopefully have a bunch of webservers and api servers I am thinking whether it would be a good idea to build a deb package which will install all dependencies and set up the lighttpd server and php. Do you think thats a good idea or should I write a bash file which basically does this? Is a deb file just that? I can't seem to find information on that. It will only be company internal but I want to be able to set up a new VM (all have the same specs) in a jiffy.

TL;DR: Are deb packages for internal use a good idea? Also can I let a deb package setup programms like I want them to be?

+1  A: 

I've started my last project with deb packages for deployment. The reasoning was, that deb packages allow me to declare all dependencies and to start services. The problems with deb packages:

  • Even for the tiniest change you need to go the whole way: rebuild the package, upload the package, update the package

  • Building a debian package takes it's time

  • Debian package building is an extra skill you need to teach to your collegues

I love debian packages, I'm a Debian Maintainer and want to become a Debian Developer.

But the next time I guess, I'd make some mixing between Debian Packages and a GIT repository. For example the dependencies and everything more static is in the Debian package and in the postinst script of the Debian package I check out a GIT repository with my application code. Thus I still have the benefit that a new team member can apt-get install a working environment while I can quickly deploy changes.

Thomas Koch