Skip to content
This repository has been archived by the owner on Sep 3, 2020. It is now read-only.

Auto tag #27

Merged
merged 3 commits into from Nov 14, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
27 changes: 27 additions & 0 deletions README.md
Expand Up @@ -73,6 +73,33 @@ steps:
from_secret: docker-password
```

## Auto tag

Set `auto_tag: true`.

```yaml
kind: pipeline
name: default

steps:
- name: build
image: golang
commands:
- go get
- go build
- name: publish
image: banzaicloud/drone-kaniko
settings:
registry: registry.example.com
repo: registry.example.com/example-project
auto_tag: true # higher priority then .tags file
# tags: ${DRONE_COMMIT_SHA} <= it must be left undefined to use auto_tag
username:
from_secret: docker-username
password:
from_secret: docker-password
```

## Test that it can build

```bash
Expand Down
26 changes: 26 additions & 0 deletions plugin.sh
Expand Up @@ -50,6 +50,32 @@ 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
# support format Major.Minor.Release or start with `v`
# docker tags: Major, Major.Minor, Major.Minor.Release and latest
if [[ "${PLUGIN_AUTO_TAG:-}" == "true" ]]; then
TAG=$(echo "${DRONE_TAG:-}" |sed 's/^v//g')
part=$(echo "${TAG}" |tr '.' '\n' |wc -l)
# expect number
echo ${TAG} |grep -E "[a-z-]" &>/dev/null && isNum=1 || isNum=0

if [ ! -n "${TAG:-}" ];then
echo "latest" > .tags
elif [ ${isNum} -eq 1 -o ${part} -gt 3 ];then
echo "${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 "${major},${major}.${minor},${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
Expand Down