SlashDeploy is a web app for triggering GitHub Deployments via a /deploy
command in Slack.
SlashDeploy is already hosted at https://slashdeploy.io. All you have to do is add it to your Slack team:
Deploy a repository to the default environment (production):
/deploy ejholmes/acme-inc
Deploy a repository to a specific environment:
/deploy ejholmes/acme-inc to staging
Deploy a branch:
/deploy ejholmes/acme-inc@topic-branch to staging
And more at https://slashdeploy.io/docs.
SlashDeploy requires PostgreSQL; you can install it through Homebrew on OSX and apt-get
on Linux.
- Install ngrok and run
./ngrok http 3000
- Create a Slack App, set your Slack Redirect URI to
http://xxx.ngrok.io/auth/slack/callback
and set your Interactive Messages Request URL tohttps://xxx.ngrok.io/slack/actions
- Listen to
/deploy
commands by setting the Request URL tohttps://xxx.ngrok.io/slack/commands
- Register a new Github OAuth application
- Set your Github Authorization callback URL to
http://xxx.ngrok.io/auth/github/callback
- Using Slack and Github app credentials, set the following environment variables in a
.env
file:
GITHUB_CLIENT
(set togithub
to use the actual client, a fake one is set otherwise)SLACK_CLIENT
(set toslack
to use the actual client, a fake one is set otherwise)GITHUB_CLIENT_ID
GITHUB_CLIENT_SECRET
SLACK_CLIENT_ID
SLACK_CLIENT_SECRET
SLACK_VERIFICATION_TOKEN
STATE_KEY
foreman start -p 3000
- Create a Slack team and add SlashDeploy to it using the button on
http://localhost:3000
The full test suite can be run with:
$ ./bin/rake
To have errors get reported to Rollbar, set an environment variable ROLLBAR_ACCESS_TOKEN
.