Giving our customers control over their servers is at the core of our product philosophy. Today I want to tell you about one of our most popular features - Deploy Hooks.
What are Deploy Hooks?
Deploy Hooks are interjection points during an application's deployment lifecycle. They can be used to customize and auomate server or application configuration at different stages of deployment.
How does it work?
Deploy Hooks are scripts that are added to your application's source repo. You can configure Deploy Hooks to run only on a specific environment (e.g. production, but not staging), at a particular stage of the deployment lifecycle (for example, immediately after a server is created or every time a successful deployment is finished) and on all your servers or just a specific server, or server group.
Deploy Hooks are often used for things like installing custom Linux packages on your servers (like ImageMagick) or modifying the folder permissions of your compiled assets or user-uploaded content.
To add a new Deploy Hook, you can use single commands (chmod 0700 /some/file
or bundle exec rake my:task
), a full shell script, or a "snippet." Snippets are pre-written handy Deploy Hooks for common use cases like installing the New Relic agent or ffmpeg
without any coding.
Who is it for?
Deploy Hooks are available across all Cloud 66 products. Deploy hooks are useful to the users who would like to customize or automate actions at various points during the deployment process.