From 749a99dd01f2d9f7a4dfc6596680f52a7fdb8416 Mon Sep 17 00:00:00 2001 From: irving Date: Tue, 4 Nov 2025 22:31:13 -0500 Subject: [PATCH] =?UTF-8?q?chore:=20=E6=9B=B4=E6=96=B0=E6=9E=84=E5=BB=BA?= =?UTF-8?q?=E8=84=9A=E6=9C=AC=20build-docker.sh?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build-docker.sh | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/build-docker.sh b/build-docker.sh index 53217c8..701a516 100755 --- a/build-docker.sh +++ b/build-docker.sh @@ -77,6 +77,20 @@ fi TIMESTAMP=$(TZ='Asia/Shanghai' date +"%Y-%m-%d-%Hh-%Mm") echo -e "${YELLOW}构建时间戳 (UTC+8): ${TIMESTAMP}${NC}" +# 获取 Git 提交信息用于镜像元数据 +if git rev-parse HEAD >/dev/null 2>&1; then + COMMIT_HASH=$(git rev-parse HEAD) + COMMIT_MESSAGE=$(git log -1 --pretty=%s | tr -d '\n') + COMMIT_MESSAGE=${COMMIT_MESSAGE//\"/\'} + COMMIT_MESSAGE=${COMMIT_MESSAGE//\$/\\$} +else + COMMIT_HASH="unknown" + COMMIT_MESSAGE="unknown" +fi + +echo -e "${YELLOW}Git 提交: ${COMMIT_HASH}${NC}" +echo -e "${YELLOW}提交说明: ${COMMIT_MESSAGE}${NC}" + # 镜像名称和标签 IMAGE_NAME="peipei-backend" VERSION_TAG="${TIMESTAMP}-${TARGET_ARCH}" @@ -124,6 +138,8 @@ if docker buildx build \ --load \ --cache-from="type=local,src=${CACHE_DIR}" \ --cache-to="type=local,dest=${CACHE_DIR}" \ + --label "org.opencontainers.image.revision=${COMMIT_HASH}" \ + --label "org.opencontainers.image.commit-message=${COMMIT_MESSAGE}" \ -f docker/Dockerfile \ -t "${IMAGE_NAME}:${VERSION_TAG}" \ -t "${IMAGE_NAME}:${LATEST_TAG}" \ @@ -139,6 +155,9 @@ if [[ "$BUILD_SUCCESS" == "true" ]]; then echo -e "${GREEN}镜像标签:${NC}" echo -e " - ${IMAGE_NAME}:${VERSION_TAG}" echo -e " - ${IMAGE_NAME}:${LATEST_TAG}" + echo -e "${GREEN}镜像元数据:${NC}" + echo -e " - org.opencontainers.image.revision=${COMMIT_HASH}" + echo -e " - org.opencontainers.image.commit-message=${COMMIT_MESSAGE}" echo -e "\n${YELLOW}镜像信息:${NC}" docker images | grep -E "^${IMAGE_NAME}\s"