Merge pull request #1602 from progrium/pre-receive-app
Add pre-receive-app plugin trigger
This commit is contained in:
@@ -587,6 +587,25 @@ set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
|
|||||||
nginx -t
|
nginx -t
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### `pre-receive-app`
|
||||||
|
|
||||||
|
- Description: Allows you to customize the contents of an application directory before they are processed for deployment. The `IMAGE_SOURCE_TYPE` can be any of `[herokuish, dockerfile]`
|
||||||
|
- Invoked by: `dokku git-hook`, `dokku tar-build-locked`
|
||||||
|
- Arguments: `$APP $IMAGE_SOURCE_TYPE $TMP_WORK_DIR`
|
||||||
|
- Example:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
# Adds a file called `dokku-is-awesome` to the repository
|
||||||
|
# the contents will be the application name
|
||||||
|
|
||||||
|
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
|
||||||
|
|
||||||
|
APP="$1"; IMAGE_SOURCE_TYPE="$2"; TMP_WORK_DIR="$3"
|
||||||
|
|
||||||
|
echo "$APP" > "$TMP_WORK_DIR/dokku-is-awesome"
|
||||||
|
```
|
||||||
|
|
||||||
### `receive-app`
|
### `receive-app`
|
||||||
|
|
||||||
- Description: Allows you to customize what occurs when an app is received. Normally just triggers an application build.
|
- Description: Allows you to customize what occurs when an app is received. Normally just triggers an application build.
|
||||||
|
|||||||
1
plugins/20_events/pre-receive-app
Symbolic link
1
plugins/20_events/pre-receive-app
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
hook
|
||||||
@@ -21,8 +21,10 @@ git_build_app_repo() {
|
|||||||
find -name .git -prune -exec rm -rf {} \; > /dev/null
|
find -name .git -prune -exec rm -rf {} \; > /dev/null
|
||||||
|
|
||||||
if [[ -f Dockerfile ]] && [[ "$([[ -f .env ]] && grep -q BUILDPACK_URL .env; echo $?)" != "0" ]] && [[ ! -f ".buildpacks" ]]; then
|
if [[ -f Dockerfile ]] && [[ "$([[ -f .env ]] && grep -q BUILDPACK_URL .env; echo $?)" != "0" ]] && [[ ! -f ".buildpacks" ]]; then
|
||||||
|
plugn trigger pre-receive-app "$APP" "dockerfile" "$TMP_WORK_DIR"
|
||||||
dokku receive "$APP" "dockerfile" "$TMP_WORK_DIR" | sed -u "s/^/"$'\e[1G'"/"
|
dokku receive "$APP" "dockerfile" "$TMP_WORK_DIR" | sed -u "s/^/"$'\e[1G'"/"
|
||||||
else
|
else
|
||||||
|
plugn trigger pre-receive-app "$APP" "herokuish" "$TMP_WORK_DIR"
|
||||||
dokku receive "$APP" "herokuish" "$TMP_WORK_DIR" | sed -u "s/^/"$'\e[1G'"/"
|
dokku receive "$APP" "herokuish" "$TMP_WORK_DIR" | sed -u "s/^/"$'\e[1G'"/"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -52,8 +52,10 @@ case "$1" in
|
|||||||
chmod -R u+r "$TMP_WORK_DIR"
|
chmod -R u+r "$TMP_WORK_DIR"
|
||||||
|
|
||||||
if [[ -f Dockerfile ]] && [[ "$([[ -f .env ]] && grep -q BUILDPACK_URL .env; echo $?)" != "0" ]] && [[ ! -f ".buildpacks" ]]; then
|
if [[ -f Dockerfile ]] && [[ "$([[ -f .env ]] && grep -q BUILDPACK_URL .env; echo $?)" != "0" ]] && [[ ! -f ".buildpacks" ]]; then
|
||||||
|
plugn trigger pre-receive-app "$APP" "dockerfile" "$TMP_WORK_DIR"
|
||||||
dokku receive "$APP" "dockerfile" "$TMP_WORK_DIR" | sed -u "s/^/"$'\e[1G'"/"
|
dokku receive "$APP" "dockerfile" "$TMP_WORK_DIR" | sed -u "s/^/"$'\e[1G'"/"
|
||||||
else
|
else
|
||||||
|
plugn trigger pre-receive-app "$APP" "herokuish" "$TMP_WORK_DIR"
|
||||||
dokku receive "$APP" "herokuish" "$TMP_WORK_DIR" | sed -u "s/^/"$'\e[1G'"/"
|
dokku receive "$APP" "herokuish" "$TMP_WORK_DIR" | sed -u "s/^/"$'\e[1G'"/"
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
|||||||
Reference in New Issue
Block a user