Nutmeg needs a game. She's got a plan, but I need some tools and training. Tools, I'm down with. Here's the proposed dev stack.
- Perforce for source control. Already installed locally, I did a backup and updated to 2012.2 new hotness. I'm stoked to check out the git fusion integration, and/or git-p4. Hopefully I don't need to switch to a mac environment and have this working. If I do, I'm going to have to move everything to a virtual machine.
- Jira/Greenhopper for issue tracking and sprint burndown. It turns out, you can get a 10 seat license for a self install for 10 bucks, with 10 per add-on. So, 20 bucks. I need to buy and install. I got a debian squeeze VM I'm going to throw this onto.
- TeamCity for builds. I've been meaning to check it out after good words from David Nelsen. I use Jenkins at work, this should be an easy way to do a comparison. I'll put this up on the VM, take a snapshot, and I have a ready-to-customize helper box to recycle.
From an organization standpoint, it should be easier to install all this crap in windows, but I'm both a glutton for punishment, and uber organized. And sometimes, the best features work only in linux.
Downloaded the cheap license (free as in beer) of TeamCity with wget. Brought up the manual. Requires/recommends Oracle java.
Crap. Debian starts with open java. Google links suggested using some random dude's launchpad bootstrap. No thanks. I don't trust it and don't have time to read it. I went with the next least crazy suggestion from the googles, generating a java .deb from the binary package. Then select it as the preferred java.
Next we find someone who's set up teamcity on a debian distro before. Like this guy. I used this a crib sheet, putting in the directory I wanted, and adding the recommended headless java startup option to another exported variable, and left myself a link to the original article in a comment. (memo to self: make a git repo for config changes).
Crap. There's a warning in the step that declares that the init.d script is missing LSB tags and overrides. What the hell are those? Huh. Ok. Add some template crap to the top and make it teamcity-specific. No more warning.
Crap. Now, where do I find the server? I've forgotten how it does local DNS. Oh yeah. It's on servername.local, the mDNS/bonjour protocol. Ok. Port discovered. Yay! Server is up, but freshly installed / empty. There's some kind of wizard page. Checking the manual. Should in theory be safe to step through? TeamCity docs are about java memory settings, nothing describes the setup wizard content. I do see that my x64 vm is going to almost double its teamcity memory usage. Thanks for writing it in java, assholes.
I press the OK button, and teamcity sits there, throbbing. But Dave says it's pretty good, so we're going to hold out. Memo to self: snapshot the machine once the bare install is up.
Time to buy jira. Ok, throw in fisheye and greenhopper. Apparently I can't buy it without coming up with an organization name. It would be great if I had an LLC, but I don't yet. Once I get Jira installed, I'll make a jira for it. Thirty bucks is pretty reasonable for an entire stack of code/task management software, for a company of any size. For 70+ monthly, I could have it hosted and skip the self-setup/maintenance.
Jira would be bought, 10 minutes later, but they've declined my credit card. WAT? Teamcity server is still chugging. Maybe it needs more ram. I will have to reconfigure the VM if that's true. (funny story, I tried to buy this last night, but clicking on buy took me to an unavailable page. Apparently the shopping cart is back.)
I go get another credit card, chat with my wife, pour some scotch, and come back to the computer. Apparently the other card is fine. Order processed. Still no team city love yet. Maybe I should spawn a new window. Oh, great. The new window pops up a license agreement. Has it been waiting all this time? Ok. Well, license accepted. Off I go. Admin user created. Looks like it's ready to configure. Time to snapshot this beast and install jira.
Apparently, atlassian made me an account and forwarded me some login details. Sweet. That's enough for this 1.5 hour session of 'setup-my-software'.