If you are a Force.com developer who has dealt with deployment automation on the platform, you probably have encountered two types of changes:
- Changes that are supported by the Metadata API and can be deployed automatically using the Force.com Migration Tool
- 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 Force.com 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 Force.com platform. It's built on top of Apache Ant, so it can be used in combination with the Force.com Migration Tool. If you are familiar with it, ForceFlow is actually very easy to pick up.