This repository has been archived by the owner on Sep 3, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 74
Add support for auto tag #15
Labels
Comments
At present this plugin is a simple shell script. Would need to migrate to Go or another language to add support for this. |
Thinking this through, we may be able to use the Kaniko binary as a replacement for the docker binary and build then use the base --- thoughts? |
I don't think that the docker binary is simply replaceable with the kaniko binary since the command line arguments differ. Importing it as a package is another thing, let me have a look on the auto-tag feature, I'm not that familiar with that one. |
possible solution diff --git a/plugin.sh b/tmp/plugin.sh
index 57c2e34..c650ccd 100755
--- a/plugin.sh
+++ b/tmp/plugin.sh
@@ -50,6 +50,30 @@ if [ -n "${PLUGIN_BUILD_ARGS_FROM_ENV:-}" ]; then
BUILD_ARGS_FROM_ENV=$(echo "${PLUGIN_BUILD_ARGS_FROM_ENV}" | tr ',' '\n' | while read build_arg; do echo "--build-arg ${build_arg}=$(eval "echo \$$build_arg")"; done)
fi
+# auto_tag, if set auto_tag: true, auto generate .tags file
+if [[ "${PLUGIN_AUTO_TAG:-}" == "true" ]]; then
+ # only support va.b.c and a.b.c
+ TAG=$(echo "${DRONE_TAG}" |sed 's/^v//g')
+ l=$(echo "${TAG}" |tr '.' '\n' |wc -l)
+ echo ${TAG} |grep -E "[a-z-]" &>/dev/null && r=0 || r=1
+
+ if [ ! -n "${TAG:-}" ];then
+ echo "latest" > .tags
+ elif [ ${r} -eq 0 -o ${l} -gt 3 ];then
+ echo "v${TAG},latest" > .tags
+ else
+ major=$(echo "${TAG}" |awk -F'.' '{print $1}')
+ minor=$(echo "${TAG}" |awk -F'.' '{print $2}')
+ release=$(echo "${TAG}" |awk -F'.' '{print $3}')
+
+ major=${major:-0}
+ minor=${minor:-0}
+ release=${release:-0}
+
+ echo "v${major},v${major}.${minor},v${major}.${minor}.${release},latest" > .tags
+ fi
+fi
+
if [ -n "${PLUGIN_TAGS:-}" ]; then
DESTINATIONS=$(echo "${PLUGIN_TAGS}" | tr ',' '\n' | while read tag; do echo "--destination=${REGISTRY}/${PLUGIN_REPO}:${tag} "; done)
elif [ -f .tags ]; then |
Looks promising! Would you mind contributing this in form of a PR @annProg ? 🙂 |
annProg
added a commit
to ops-itop/drone-kaniko
that referenced
this issue
Nov 4, 2019
bonifaido
pushed a commit
that referenced
this issue
Nov 14, 2019
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Drone docker plugin has support for auto tag, may be we can borrow some code from there..
The text was updated successfully, but these errors were encountered: