Files
dokku/docs/deployment/methods/git.md
Jose Diaz-Gonzalez d67e883e13 feat: flesh out git plugin further
- add `report` and `set` subcommands to the git plugin
- move configuring the DOKKU_DEPLOY_BRANCH to the git plugin
- implement configurable GIT_REV support
- migrate DOKKU_DEPLOY_BRANCH settings
- add a golang-compatible, shell based method of setting plugin configuration variables

Deprecates the community dokku-git-rev plugin.

Closes #2621
Refs dokku-community/dokku-git-rev#9
2018-03-31 03:25:03 -04:00

63 lines
1.9 KiB
Markdown

# GIT Deployment
> Subcommands new as of 0.12.0
```
git:report [<app>] [<flag>] # Displays a git report for one or more apps
git:set <app> <key> (<value>) # Set or clear a git property for an app
```
GIT-based deployment has been the traditional method of deploying applications in Dokku. As of v0.12.0, Dokku introduces a few ways to customize the experience of deploying via `git push`.
## Usage
### Changing the Deploy Branch
By default, Dokku will deploy code pushed to the `master` branch. In order to quickly deploy a different local branch, the following GIT command can be used:
```shell
# on the local machine
# where `SOME_BRANCH_NAME` is the name of the branch
git push dokku SOME_BRANCH_NAME:master
```
In `0.12.0`, the correct way to change the deploy branch is to use the `git:set` Dokku subcommand.
```shell
# on the Dokku host
# override for all applications
dokku git:set --global deploy-branch SOME_BRANCH_NAME
# override for a specific app
# where `SOME_BRANCH_NAME` is the name of the branch
dokku git:set node-js-app deploy-branch SOME_BRANCH_NAME
```
Pushing multiple branches can also be supportec by creating a [receive-branch](/docs/development/plugin-triggers.md#receive-branch) plugin trigger in a custom plugin.
### Configuring the GIT_REV Environment Variable
> New as of 0.12.0
Application deployments will include a special `GIT_REV` environment variable containing the current deployment sha being deployed. For rebuilds, this sha will remain the same.
To configure the name of the `GIT_REV` environment variable, run the `git:set` subcommand as follows:
```shell
# on the Dokku host
# override for a specific app
dokku git:set node-js-app rev-env-var DOKKU_GIT_REV
```
This behavior can be disabled entirely on a per-app basis by setting the `rev-env-var` value to an empty string:
```shell
# on the Dokku host
# override for a specific app
dokku git:set node-js-app rev-env-var ""
```