.slashdeploy.yml
The complete reference on the SlashDeploy configuration file.
SlashDeploy configuration is managed through a
.slashdeploy.yml
file in the root of your repository. Any change to this file is picked and applied by SlashDeploy automatically, upon a Git push to the respective GitHub repository.Below is a sample configuration file with all the available configs:
.slashdeploy.yml
---
version: 1
default_environment: staging
default_channel: deploy
environments:
production:
channel: production
aliases:
- prod
checks:
- ci/circleci
- codeclimate/total-coverage
auto_deploy:
ref: refs/heads/master
skip_deploy_warning: false
payload: '{"config": {"provider": "capistrano"}}'
staging:
default_ref: develop
respond_in_channel: false
locking_enabled: false
aliases:
- stage
checks:
- ci/circleci
auto_deploy:
ref: refs\/heads\/dev.+
payload: '{"config": {"provider": "capistrano"}}'
usage: |
*Usage doc on how to deploy this repo:*
You can even use Slack formatting with emojis :raised_hands:
Config | Description |
version | The version of this configuration file. Always set a version to guarantee that your configuration remains functional even with new, possibly, breaking changes. |
default_environment | |
default_channel | The default Slack channel where to receive deployment notifications. Remember to /invite @slashdeploy bot user to this channel. If it's omitted, SlashDeploy will send direct messages to the user who triggered a deploy. |
enviroments | The array of available deployment environments for this repository. In the example above, there are two named environments production and staging. |
usage | The free-form usage text to let your users know of anything special about deploying this repository. For instance, supported deployment tasks, locking conventions, or even deployment/code ownership. You can also use Slack formatting and emojis in here. Users can then read the usage help with /deploy help <repo> command. |
Environment-specific configuration.
Config | Description |
channel | The Slack channel where to receive deployment notifications for this environment. Remember to /invite @slashdeploy bot user to this channel. If it's omitted, SlashDeploy will user global default_channel . |
respond_in_channel | By default, Slack commands will be "echoed" back to the channel they were issued from. If you want them to be "Only visible to you", set this option to false . |
locking_enabled | By default, locking and queuing are enabled for all environments. If you want to disable locking, set this option to false . |
default_ref | |
aliases | A list of environment aliases. In the example above, production can be also deployed as prod and staging as stage. |
checks | A list of GitHub required commit status checks to ensure deployments to this environment happen only when all of the listed checks are passing. |
auto_deploy | The auto-deploy ref . Any commit to the regular expression matching Git ref (branch, tag, etc.) will trigger an auto-deployment for this environment. The auto-deploy skip_deploy_warning. When set to true SlashDeploy won't warn you when manually deploying to an auto-deployed environment. |
payload | Any additional metadata to pass along to the GitHub deployment creation. It is a JSON text field that will be passed on by GitHub when a deployment event is dispatched to the deployment system. |
Last modified 2yr ago