Back
Syntax
Study
Editor
Mode:
HTML
CSS
JavaScript
PHP
Reset
Run »
HTML / CSS / JS
#!/bin/sh # ci/tag-and-push.sh called from CI after tests pass set -e IMAGE="myuser/myapp" VERSION=$(cat VERSION) MAJOR=$(echo $VERSION | cut -d. -f1) MINOR=$(echo $VERSION | cut -d. -f1,2) SHA=$(git rev-parse --short HEAD) # Build once docker build -t $IMAGE:$SHA . # Tag with all variants docker tag $IMAGE:$SHA $IMAGE:$VERSION docker tag $IMAGE:$SHA $IMAGE:$MINOR docker tag $IMAGE:$SHA $IMAGE:$MAJOR docker tag $IMAGE:$SHA $IMAGE:latest # Push all tags docker push $IMAGE:$SHA docker push $IMAGE:$VERSION docker push $IMAGE:$MINOR docker push $IMAGE:$MAJOR docker push $IMAGE:latest # Record the digest for audit DIGEST=$(docker inspect --format='{{index .RepoDigests 0}}' $IMAGE:$VERSION) echo "Pushed $IMAGE:$VERSION digest=$DIGEST" >> release-notes.txt
Result
Open