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

1.9 KiB

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:

# 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.

# 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 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:

# 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:

# on the Dokku host

# override for a specific app
dokku git:set node-js-app rev-env-var ""