This commit is contained in:
27
.drone.yml
27
.drone.yml
@@ -10,12 +10,10 @@ steps:
|
|||||||
- name: docker-socket
|
- name: docker-socket
|
||||||
path: /var/run/docker.sock
|
path: /var/run/docker.sock
|
||||||
commands:
|
commands:
|
||||||
|
- export APP_NAME="node-app"
|
||||||
|
- export CONTAINER_NAME="node-app-prod"
|
||||||
|
- export CURRENT_TAG=$(echo ${DRONE_COMMIT_SHA} | cut -c1-8)
|
||||||
- |
|
- |
|
||||||
# 定义应用相关的名称标识
|
|
||||||
APP_NAME="node-app"
|
|
||||||
CONTAINER_NAME="node-app-prod"
|
|
||||||
CURRENT_TAG="${DRONE_COMMIT_SHA:0:8}"
|
|
||||||
|
|
||||||
# 调试输出变量值,确认变量是否正确设置
|
# 调试输出变量值,确认变量是否正确设置
|
||||||
echo "调试信息: APP_NAME=${APP_NAME}, CONTAINER_NAME=${CONTAINER_NAME}, CURRENT_TAG=${CURRENT_TAG}"
|
echo "调试信息: APP_NAME=${APP_NAME}, CONTAINER_NAME=${CONTAINER_NAME}, CURRENT_TAG=${CURRENT_TAG}"
|
||||||
|
|
||||||
@@ -33,13 +31,17 @@ steps:
|
|||||||
|
|
||||||
# 2. 删除同前缀的旧镜像(排除当前构建标签)
|
# 2. 删除同前缀的旧镜像(排除当前构建标签)
|
||||||
echo "清理旧镜像..."
|
echo "清理旧镜像..."
|
||||||
docker images --filter "reference=${APP_NAME}:*" --format "{{.ID}} {{.Tag}}" | \
|
if [ -n "${APP_NAME}" ] && [ -n "${CURRENT_TAG}" ]; then
|
||||||
while read -r image_id tag; do
|
docker images --filter "reference=${APP_NAME}:*" --format "{{.ID}} {{.Tag}}" | \
|
||||||
if [ "$tag" != "$CURRENT_TAG" ] && [ "$tag" != "<none>" ]; then
|
while read -r image_id tag; do
|
||||||
echo "删除旧镜像: ${APP_NAME}:${tag} (ID: ${image_id})"
|
if [ "$tag" != "$CURRENT_TAG" ] && [ "$tag" != "<none>" ]; then
|
||||||
docker rmi -f ${image_id} || true
|
echo "删除旧镜像: ${APP_NAME}:${tag} (ID: ${image_id})"
|
||||||
fi
|
docker rmi -f ${image_id} || true
|
||||||
done
|
fi
|
||||||
|
done
|
||||||
|
else
|
||||||
|
echo "APP_NAME或CURRENT_TAG未设置,跳过镜像清理"
|
||||||
|
fi
|
||||||
|
|
||||||
# 3. 清理悬空镜像(构建失败产生的none标签镜像)
|
# 3. 清理悬空镜像(构建失败产生的none标签镜像)
|
||||||
echo "清理悬空镜像..."
|
echo "清理悬空镜像..."
|
||||||
@@ -50,6 +52,7 @@ steps:
|
|||||||
echo "没有悬空镜像需要清理"
|
echo "没有悬空镜像需要清理"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
# 第一步:准备环境并安装依赖
|
# 第一步:准备环境并安装依赖
|
||||||
- name: install-dependencies
|
- name: install-dependencies
|
||||||
image: node:18-bullseye
|
image: node:18-bullseye
|
||||||
|
|||||||
Reference in New Issue
Block a user