SlashDeploy uses a Gemfile
to document dependencies.
The following external dependencies are also required:
Postgresql 9.6
Ruby 2.5.1
(optionallyrbenv
)bundler
- install brew
- install
PostgreSQL 9
:brew install [email protected]
- start
PostgreSQL 9
:brew services start [email protected]
- install
rbenv
:brew install rbenv
- install
bundler
:gem install bundler
- TODO
- clone
slashdeploy
:git clone [email protected]:remind101/slashdeploy.git
- change dir to project root:
cd slashdeploy
- install
slashdeploy
:bundle install
- create database schema:
bundle exec rake db:setup
- migrate database schema:
bundle exec rake db:migrate
You can also use Docker for development and testing:
make test
The full test suite can be run with:
./bin/rake
- Install ngrok and run
./ngrok http 3000
- Create a Slack App
- Set your Interactive Components Request URL to
https://xxx.ngrok.io/slack/actions
- Add a new OAuth & Permissions Redirect URL with the value
https://xxx.ngrok.io/auth/slack/callback
- Add a new
/deploy
command 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:
STATE_KEY=""
# the ngrok.io URI.
URL="https://xxx.ngrok.io"
# find these on the Github OAuth App's Developer settings page.
GITHUB_CLIENT="github"
GITHUB_CLIENT_ID=""
GITHUB_CLIENT_SECRET=""
# find these on the Slack App's Basic Information tab.
SLACK_CLIENT="slack"
SLACK_CLIENT_ID=""
SLACK_CLIENT_SECRET=""
SLACK_VERIFICATION_TOKEN=""
foreman start -p 3000
- Create a Slack team and add SlashDeploy to it using the button on
https://xxx.ngrok.io