I am trying to generate timestamp for my snapshots:
default:
image: docker:24.0.5
services:
- docker:24.0.5-dind
before_script:
- docker info
variables:
DOCKER_HOST: tcp://docker:2376
DOCKER_TLS_CERTDIR: "/certs"
DOCKER_TLS_VERIFY: 1
DOCKER_CERT_PATH: "$DOCKER_TLS_CERTDIR/client"
IMAGE_TAG: "$(date +%Y%m%d-%H%M%S)"
stages: # List of stages for jobs, and their order of execution
- build
- test
- deploy
build-job: # This job runs in the build stage, which runs first.
stage: build
before_script:
- apk add python3
- apk add py3-pip
- pip3 install awscli --break-system-packages
- aws configure set aws_access_key_id $AWS_ACCESS_KEY_ID
- aws configure set aws_secret_access_key $AWS_SECRET_ACCESS_KEY
- aws configure set region $AWS_DEFAULT_REGION
script:
- echo $IMAGE_TAG
- docker build -t repository .
- docker tag repository:latest XXXX.dkr.ecr.eu-central-1.amazonaws.com/repository:$IMAGE_TAG
- aws ecr get-login-password --region eu-central-1 | docker login --username AWS --password-stdin XXX.dkr.ecr.eu-central-1.amazonaws.com
- docker push XXX.dkr.ecr.eu-central-1.amazonaws.com/repository:$IMAGE_TAG
But for some reason, that doesn’t return the value IMAGE_TAG: “$(date +%Y%m%d-%H%M%S)”
Any ideas why it is not working?