ForceFlow - enhanced deployment automation for the Salesforce platform

If you are a developer who has dealt with deployment automation on the platform, you probably have encountered two types of changes:

  1. Changes that are supported by the Metadata API and can be deployed automatically using the Migration Tool
  2. Changes that are not supported by the migration tool and should be migrated manually.

(For the purpose of this post I need to assume you are very familiar with the two scenarios I just mentioned.)

Although not normally included in the picture, there is a third type of changes: those that are supported by some platform APIs, but that are not handled by the Migration tool.

A few examples:

  • Remote sites settings
  • Custom settings
  • Job scheduling
  • Post-deployment Apex scripts

For all these changes automation is technically possible, but there are no tools that simply automate these task as part of your continuous integration process.

This is the rationale behind ForceFlow, a simple open source project I started to enhance the deployment automation capabilities on the platform. It's built on top of Apache Ant, so it can be used in combination with the Migration Tool. If you are familiar with it, ForceFlow is actually very easy to pick up.

ForceFlow is available on GitHub.