TFS & GO & Chef, oh my: Part 10 - It's alive! ...ish...

The build process is now 100% functional!

Except I broke it.  For some reason the GO agent started only using the active directory NicelyFormattedName...which of course broke the auto-login, because the Linux-side name is all lowercase.  After changing the environment variable and deleting every cache I could find, ended up just changing the AD account to all lowercase.  Fixed.  :S

Now it's fully functional!  Except the additional test branches dev gave us won't build like the first one.

Good news is that we are now Chefing - and this part is what I've really been looking forward to.  After a LOT of reading, it seems this is the recommended practice:

  • Use a 'roles' cookbook - because versioning EVERYTHING is super important, and roles are not (at this time) versioned
  • Environments allow you to restrict versions
  • Try and keep things as simple as possible - limit the 'blast radius' of bad changes
Here's how we are (at this time) structuring things...
  1. ChefRepo: Roles::CorpWindows (basic windows stuff)
  2. ChefRepo: Roles::CorpWindowsWebLayer (anything in the web layer)
  3. ChefRepo: Roles::CorpWELT (a web layer server-type)
  4. ProjectRepo: ProjectName

This necessitates using a separate repo for the project-specific Chef configuration - not sure how this works yet.  The idea being your Chef config that pertains to the project itself should be versioned alongside the project.

We've got Chef building the basics (thanks to the POC work I did earlier this year), so once we have the multi-repo thing figured out the POC will be done!

Comments

Popular posts from this blog

DFSR - eventid 4312 - replication just won't work

Fixing duplicate SPNs (service principal name)

Logstash to Nagios - alerting based on Windows Event ID