From 5f7c4426b7f59e10afae47dac7f9ef0878f4dd24 Mon Sep 17 00:00:00 2001 From: Michael Hobbs Date: Thu, 3 Sep 2015 18:26:02 -0700 Subject: [PATCH] rename tag to tags. make verbs more consistent --- docs/development/pluginhooks.md | 8 ++--- docs/process-management.md | 19 ++++++------ plugins/{tag => tags}/commands | 50 +++++++++++++++--------------- plugins/{tag => tags}/functions | 0 tests/unit/{tag.bats => tags.bats} | 17 +++++----- 5 files changed, 47 insertions(+), 47 deletions(-) rename plugins/{tag => tags}/commands (63%) rename plugins/{tag => tags}/functions (100%) rename tests/unit/{tag.bats => tags.bats} (60%) diff --git a/docs/development/pluginhooks.md b/docs/development/pluginhooks.md index c6771d636..957e77584 100644 --- a/docs/development/pluginhooks.md +++ b/docs/development/pluginhooks.md @@ -629,10 +629,10 @@ fi pluginhook receive-app $APP $newrev ``` -### `tag-add` +### `tags-create` - Description: Allows you to run commands once a tag for an application image has been added -- Invoked by: `dokku tag:add` +- Invoked by: `dokku tags:create` - Arguments: `$APP $IMAGE_TAG` - Example: @@ -648,10 +648,10 @@ docker tag -f $IMAGE_ID $DOCKER_HUB_USER/$APP:$IMAGE_TAG docker push $DOCKER_HUB_USER/$APP:$IMAGE_TAG ``` -### `tag-remove` +### `tags-destroy` - Description: Allows you to run commands once a tag for an application image has been removed -- Invoked by: `dokku tag:remove` +- Invoked by: `dokku tags:destroy` - Arguments: `$APP $IMAGE_TAG` - Example: diff --git a/docs/process-management.md b/docs/process-management.md index 64d88a4c1..c00d7d84a 100644 --- a/docs/process-management.md +++ b/docs/process-management.md @@ -45,31 +45,32 @@ Like Heroku, we handle the `web` proctype differently from others. The `web` pro ## Image tagging -The dokku tag plugin allows you to add docker image tags to the currently deployed app image for versioning and subsequent deployment. +The dokku tags plugin allows you to add docker image tags to the currently deployed app image for versioning and subsequent deployment. ``` -tag:add Add tag to latest running app image -tag:deploy Deploy tagged app image -tag:list List all app image tags -tag:rm Remove app image tag +tags List all app image tags +tags:create Add tag to latest running app image +tags:deploy Deploy tagged app image +tags:destroy Remove app image tag ``` Example: ``` -root@dokku:~# dokku tag:list node-js-app +root@dokku:~# dokku tags node-js-app =====> Image tags for dokku/node-js-app REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE dokku/node-js-app latest 936a42f25901 About a minute ago 1.025 GB -root@dokku:~# dokku tag:add node-js-app v0.9.0 +root@dokku:~# dokku tags:create node-js-app v0.9.0 =====> Added v0.9.0 tag to dokku/node-js-app -root@dokku:~# dokku tag:list node-js-app + +root@dokku:~# dokku tags node-js-app =====> Image tags for dokku/node-js-app REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE dokku/node-js-app latest 936a42f25901 About a minute ago 1.025 GB dokku/node-js-app v0.9.0 936a42f25901 About a minute ago 1.025 GB -root@dokku:~# dokku tag:deploy node-js-app v0.9.0 +root@dokku:~# dokku tags:deploy node-js-app v0.9.0 -----> Releasing node-js-app (dokku/node-js-app:v0.9.0)... -----> Deploying node-js-app (dokku/node-js-app:v0.9.0)... -----> Running pre-flight checks diff --git a/plugins/tag/commands b/plugins/tags/commands similarity index 63% rename from plugins/tag/commands rename to plugins/tags/commands index 35816ce4f..a77f8bc93 100755 --- a/plugins/tag/commands +++ b/plugins/tags/commands @@ -4,17 +4,26 @@ source "$PLUGIN_PATH/common/functions" source "$(dirname $0)/functions" case "$1" in - tag:add) + tags) + [[ -z $2 ]] && echo "Please specify an app to run the command on" && exit 1 + APP="$2"; IMAGE_REPO=$(get_app_image_repo $APP) + verify_app_name "$APP" + + dokku_log_info2_quiet "Image tags for $IMAGE_REPO" + docker images "$IMAGE_REPO" + ;; + + tags:create) [[ -z $2 ]] && echo "Please specify an app to run the command on" && exit 1 APP="$2"; IMAGE_TAG="$3"; IMAGE_REPO=$(get_app_image_repo $APP) verify_app_name "$APP" tag_image "$IMAGE_REPO:latest" "$IMAGE_REPO:$IMAGE_TAG" dokku_log_info2_quiet "Added $IMAGE_TAG tag to $IMAGE_REPO" - pluginhook tag-add $APP $IMAGE_TAG + pluginhook tags-create $APP $IMAGE_TAG ;; - tag:deploy) + tags:deploy) [[ -z $2 ]] && echo "Please specify an app to run the command on" && exit 1 APP="$2"; IMAGE_TAG="$3" verify_app_name "$APP" @@ -22,38 +31,29 @@ case "$1" in release_and_deploy $APP $IMAGE_TAG ;; - tag:list) - [[ -z $2 ]] && echo "Please specify an app to run the command on" && exit 1 - APP="$2"; IMAGE_REPO=$(get_app_image_repo $APP) - verify_app_name "$APP" - - dokku_log_info2_quiet "Image tags for IMAGE_REPO" - docker images "IMAGE_REPO" - ;; - - tag:rm) + tags:destroy) [[ -z $2 ]] && echo "Please specify an app to run the command on" && exit 1 APP="$2"; IMAGE_TAG="$3"; IMAGE_REPO=$(get_app_image_repo $APP) verify_app_name "$2" case "$IMAGE_TAG" in - latest) - dokku_log_fail "You can't remove internal dokku tag ($IMAGE_TAG) for $IMAGE_REPO" - ;; + latest) + dokku_log_fail "You can't remove internal dokku tag ($IMAGE_TAG) for $IMAGE_REPO" + ;; - *) - docker rmi "$IMAGE_REPO:$IMAGE_TAG" - ;; + *) + docker rmi "$IMAGE_REPO:$IMAGE_TAG" + ;; esac - pluginhook tag-remove $APP $IMAGE_TAG + pluginhook tags-destroy $APP $IMAGE_TAG ;; - help | tag:help) + help | tags:help) cat && cat< , Add tag to latest running app image - tag:deploy , Deploy tagged app image - tag:list , List all app image tags - tag:rm , Remove app image tag + tags , List all app image tags + tags:create , Add tag to latest running app image + tags:deploy , Deploy tagged app image + tags:destroy , Remove app image tag EOF ;; diff --git a/plugins/tag/functions b/plugins/tags/functions similarity index 100% rename from plugins/tag/functions rename to plugins/tags/functions diff --git a/tests/unit/tag.bats b/tests/unit/tags.bats similarity index 60% rename from tests/unit/tag.bats rename to tests/unit/tags.bats index e1433ab64..02d154506 100644 --- a/tests/unit/tag.bats +++ b/tests/unit/tags.bats @@ -10,33 +10,32 @@ teardown() { destroy_app } -@test "(tag) tag:add, tag:list, tag:rm" { - run /bin/bash -c "dokku tag:add $TEST_APP v0.9.0" +@test "(tags) tags:create, tags, tags:destroy" { + run /bin/bash -c "dokku tags:create $TEST_APP v0.9.0" echo "output: "$output echo "status: "$status assert_success - run /bin/bash -c "dokku tag:list $TEST_APP | egrep -q 'v0.9.0'" + run /bin/bash -c "dokku tags $TEST_APP | egrep -q 'v0.9.0'" echo "output: "$output echo "status: "$status assert_success - run /bin/bash -c "dokku tag:rm $TEST_APP v0.9.0" + run /bin/bash -c "dokku tags:destroy $TEST_APP v0.9.0" echo "output: "$output echo "status: "$status assert_success - run /bin/bash -c "dokku tag:list $TEST_APP | egrep -q 'v0.9.0'" + run /bin/bash -c "dokku tags $TEST_APP | egrep -q 'v0.9.0'" echo "output: "$output echo "status: "$status assert_failure - } -@test "(tag) tag:deploy" { - run /bin/bash -c "dokku tag:add $TEST_APP v0.9.0" +@test "(tags) tags:deploy" { + run /bin/bash -c "dokku tags:create $TEST_APP v0.9.0" echo "output: "$output echo "status: "$status assert_success - run /bin/bash -c "dokku tag:deploy $TEST_APP v0.9.0" + run /bin/bash -c "dokku tags:deploy $TEST_APP v0.9.0" echo "output: "$output echo "status: "$status assert_success