feat: tag the "latest" image on tags deploy

If the image tag being deployed is not `latest`, we'll retag it as such once the deploy is complete.

Closes #3355
This commit is contained in:
Jose Diaz-Gonzalez
2018-12-28 19:17:26 -05:00
parent df1987e6c4
commit 4a3707d36d
3 changed files with 12 additions and 2 deletions

View File

@@ -65,7 +65,7 @@ dokku/node-js-app v1 936a42f25901 About a minute ago
### Deploying an image tag
Finally, you can also deploy a local image using the `tags:deploy` command.
Finally, you can also deploy a local image using the `tags:deploy` command. When specifying a tag that is not `latest`, the released image will be retagged as the `latest` image tag for the app.
```shell
dokku tags:deploy node-js-app v1

View File

@@ -12,7 +12,13 @@ tags_deploy_cmd() {
IMAGE="$(get_app_image_name "$APP" "$IMAGE_TAG")"
verify_image "$IMAGE" || return 1
release_and_deploy "$APP" "$IMAGE_TAG"
release_and_deploy "$APP" "$IMAGE_TAG"
if [[ "$IMAGE_TAG" != "latest" ]]; then
local DOKKU_SCHEDULER="$(get_app_scheduler "$APP")"
local LATEST_IMAGE="$(get_app_image_name "$APP")"
plugn trigger scheduler-tags-create "$DOKKU_SCHEDULER" "$APP" "$IMAGE" "$LATEST_IMAGE"
fi
}
tags_deploy_cmd "$@"

View File

@@ -45,6 +45,10 @@ teardown() {
echo "output: $output"
echo "status: $status"
assert_success
run /bin/bash -c "docker images | egrep "dokku/${TEST_APP}"| egrep -q latest"
echo "output: $output"
echo "status: $status"
assert_success
}
@test "(tags) tags:deploy (missing tag)" {