| | |
| | | #!/bin/bash |
| | | # 删除历史版本镜像 |
| | | # 镜像仓库地址 |
| | | REGISTRY=registry.cn-hangzhou.aliyuncs.com |
| | | # 镜像仓库命名空间 |
| | | NAMESPACE=arsn |
| | | # 镜像仓库名称 |
| | | RESP_NAME=drone |
| | | # 打印本次更新的版本号(为jenkins更新的版本号),小于这个版本号的都清理掉 |
| | | echo $BUILD_NUMBER |
| | | # 需要清理的镜像名名称,一般是项目模块名称 |
| | |
| | | # 要比较的版本号(仅比较数字部分,忽略 -SNAPSHOT) |
| | | TARGET_BUILD_NUMBER=$BUILD_NUMBER |
| | | # 列出所有相关镜像 |
| | | images=$(docker images --filter=reference="$REGISTRY/$NAMESPACE/$RESP_NAME:$IMAGE_NAME-SNAPSHOT-*" --format '{{.Repository}}:{{.Tag}}') |
| | | images=$(docker images --filter=reference="$IMAGE_NAME:*" --format '{{.Repository}}:{{.Tag}}') |
| | | echo $images |
| | | for image in $images; do |
| | | # 提取镜像标签中的构建号 |
| | | tag=$(echo $image | cut -d: -f2) |
| | | build_number=$(echo $tag | sed -n 's/.*-SNAPSHOT-\([0-9]*\).*/\1/p') |
| | | build_number=$(echo $tag | sed -n 's/.*\([0-9]*\).*/\1/p') |
| | | |
| | | # 检查是否提取到有效的构建号 |
| | | if [[ -z $build_number ]]; then |