views:

162

answers:

3

Hi,

I am working on a small project with a few friends and need to set up a server to run our tools. I looked around at hosted solutions like Unfuddle but they don't provide a CI server.

I am now considering buying a Linode and running the following on it:

I am a Linux server newbie, so does anyone have any writeups, advice etc about this? I am aware of Buildix, but they don't provide the combination I need.

A: 

If you have Ruby installed, you can pull down the deprec gem ("deprec" is for "deploy recipe", not "deprecated"). It's geared toward Rails, but will set up Trac and source control and let you perform other admin tasks. It may or may not be suitable to your needs, but I'd advise you to check it out.

Of course, choosing a distro with a robust package management system will help with installing commodity stuff.

As for mail, I'm not sure why you'd choose to run your own, when Google will do it for you for free. (Exception: If your app needs intimate access to mail, it might be simpler to run your own.)

bradheintz
My app does not need intimate access to mail, but the CI needs to send out an email notification when the build breaks. Does Google let you use their service for such a use-case?
binil
Gmail itself has POP and IMAP access; I don't see anything about a Gmail API like they have for calendar.
bradheintz
+1  A: 

I'm not sure how much power you need, but what I've done in the past is grabbed an old desktop computer. Wiped the hard drive and installed an appropriate OS and then loaded my tools on that.

I setup port forwarding on my router to send incoming requests to it. And I got my hands a dynamic IP address URL (there are free and pay-for ones) and setup tools to always update the current IP address on the URL.

It worked great, was cheap and I learned a lot about server administration.

Yes, setup is harder and it takes longer but if you run this project for 12 months and you are paying (say $30 a month) then you save yourself $360 plus you gained a whole lot of insight in to Admin-ing Linux(or the OS of your choice).

Best Regards,
Frank

Frank V
you can also CNAME a domain of your choice over the top of the dynamic domain, so that you don't have to be xxx.dyndns.com (or similar)
benlumley
+1  A: 

I would strongly advise against using your build server (assuming that you intend to depend on it rather than it being a "toy" or "experiment") as your introduction to a new OS platform. You are very likely to need to be able to personally support every aspect of that machine's construction and operation, or you need to be able to hand it off to someone whom you can trust to do it for you.

Therefore, if you are comfortable only with Windows, then build it on Windows. If you can, build it yourself and keep it close to home. Don't use a hosted solution unless you truly need it to be available over the Internet.

Once you have your build server working well, and have some comfort with your ability to operate and support it, THEN consider constructing another such server using an OS or tools that are new to you. You will then be able to compare and contrast the two build servers, and you will always have a working build server when things go awry on your "experimental" one.

If, on the other hand, you are doing this as an experiment rather than for "production" use, then I would still recommend against having it hosted (again with the caveat that you might need to share it over the Internet)--keep it close and get to know it intimately (oh, beeeehave!).

In other words, if it is an "experiment", then don't allow any obstacle to your freedom to experiment: not distance, not money, not sharing, etc.

And, enjoy!!!

Rob Williams