Notification hooks include start, finish and fail of deployments.
Notify Capistrano deployments via webhook API. Just set the webhook URL and message.
Add this line to your application's Gemfile:
gem 'capistrano-hook'
Add this line to your Capfile:
require 'capistrano/hook'
Notification will not be run with no settings. You can setting the variables shown below.
set :webhook_url, 'https://yulii.github.io/services'
set :webhook_starting_payload, { text: 'Now, deploying...' }
set :webhook_finished_payload, { text: 'Deployment has been completed!' }
set :webhook_failed_payload, { text: 'Oops! something went wrong.' }
set :webhook_reverting_payload, { text: 'Reverting...' }
set :webhook_rollbacked_payload, { text: 'Rollback has been completed!' }
Test your setup by running:
# List the webhook configured variables
$ cap production webhook:config:list
# Post a starting message
$ cap production webhook:post:starting
# Post a finished message
$ cap production webhook:post:finished
# Post a failed message
$ cap production webhook:post:failed
# Post a reverting message
$ cap production webhook:post:reverting
# Post a rollbacked message
$ cap production webhook:post:rollbacked
If you want to see all capistrano hook commands, please run cap -T
. :)
Send notifications to Slack via incoming webhook.
set :webhook_url, '#{YOUR WEBHOOK URL}'
set :webhook_starting_payload, {
username: 'Capistrano',
icon_emoji: ':rocket:',
text: 'Now, deploying...'
}
set :webhook_finished_payload, {
username: 'Capistrano',
icon_emoji: ':rocket:',
text: 'Deployment has been completed!'
}
set :webhook_failed_payload, {
username: 'Capistrano',
icon_emoji: ':rotating_light:',
text: 'Oops! something went wrong.'
}
Fork, fix, then send a pull request and attach test code.
The gem is available as open source under the terms of the MIT License.