用途:按规范为 Docker 镜像打标签、构建、追踪并推送,防止因标签可变导致的镜像陈旧问题。
主要能力:
- 生成唯一标签:使用 git 短 SHA 与时间戳组合(GIT_SHA、TIMESTAMP、TAG),避免只用 :latest。
- 缓存控制:生产构建用 docker build --no-cache --pull -t <registry>/<image>:${TAG} .;开发构建用 docker build -t <registry>/<image>:${TAG} .。
- 便利标签:额外打上 :<branch>-latest。
- 构建验证:docker images | grep <image>;docker inspect <registry>/<image>:${TAG} | jq '.[0].Created'。
- 推送:docker push <registry>/<image>:${TAG} 与 <branch>-latest。
- 仓库核对:ACR 用 az acr repository show-tags --name <registry> --repository <image> --orderby time_desc --top 5;Docker Hub 用 docker manifest inspect <registry>/<image>:${TAG}。
使用方式:调用时传入 $ARGUMENTS(具体参数含义暂未提供),按上述流程执行。
限制与反模式:不要只用 :latest 构建;构建后不要跳过推送;未在仓库确认镜像存在前不要部署;可变标签不要配合 imagePullPolicy: IfNotPresent。其余细节暂未提供。