Monday, March 24, 2014

Anatomy of a Continuous Delivery Project Folder

I have been thinking a lot of all the various things you need in your project, besides the actual application, to support Continuous Delivery.

Here is a quick list of what the it might look like:
  • Application/API - your applications source files, libraries, unit tests, and acceptance tests
  • Chef - Your chef repo folder.
    • Databags - your chef-vault encrypted databags, along with global variables.
    • Cookbooks - all of your application-specific team owned cookbooks.
  • Valuestream - the valuestream for your application expressed as code.  This can be your Go xml file, or your Jenkins configuration.
  • Environment Definitions - definitions of your environments - servers, big ip pools, etc.
  • Images - the machine images, or the code needed to build them up.
  • Tools/Scripts - Any tools, source code (with tests) or compiled that you depend on.
  • Active Directory - Group Policies, groups, user accounts and their properties
  • Documentation - all the documentation should live with the rest of this stuff, not in Sharepoint or Confluence.
  • Application Backlog - The backlog for this application including user stories, bugs, tasks, etc.
Wonder what else I am missing?