.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
1
---
2
version: 1
3
default_environment: staging
4
default_channel: deploy
5
6
environments:
7
production:
8
channel: production
9
aliases:
10
- prod
11
checks:
12
- ci/circleci
13
- codeclimate/total-coverage
14
auto_deploy:
15
ref: refs/heads/master
16
skip_deploy_warning: false
17
payload: '{"config": {"provider": "capistrano"}}'
18
19
staging:
20
default_ref: develop
21
respond_in_channel: false
22
locking_enabled: false
23
aliases:
24
- stage
25
checks:
26
- ci/circleci
27
auto_deploy:
28
ref: refs\/heads\/dev.+
29
payload: '{"config": {"provider": "capistrano"}}'
30
31
usage: |
32
*Usage doc on how to deploy this repo:*
33
34
You can even use Slack formatting with emojis :raised_hands:
Copied!

Available configs

Global

Global configuration applied to all SlashDeploy operations and environments.
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
The default environment to use in commands, such as /deploy and /deploy latest, if not specified.
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

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
The default branch to use for /deploy command. If not specified, master is used.
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-deployref. 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 1yr ago
Copy link