forked from drone/command-center-dashboard

zhongrj
2025-03-28 3430e20105851aac279db7a7f210493e7d506c85
增加打包文件
5 files added
95 ■■■■■ changed files
Dockerfile.prod 17 ●●●●● patch | view | raw | blame | history
Dockerfile.test 17 ●●●●● patch | view | raw | blame | history
docker-compose-prod.yml 15 ●●●●● patch | view | raw | blame | history
docker-compose-test.yml 15 ●●●●● patch | view | raw | blame | history
rmi_his_image.sh 31 ●●●●● patch | view | raw | blame | history
Dockerfile.prod
New file
@@ -0,0 +1,17 @@
# 使用官方的 Node.js 20.10.0 版本作为基础镜像
FROM node:v20.14.0 AS build-env
# 设置工作目录
WORKDIR /app
# 将当前目录(Vue 项目目录)的内容复制到 /app 目录中
COPY . /app
# 安装项目依赖
RUN npm install
# 构建项目
RUN npm run build:dev
# 查看
RUN ls /app/dist
Dockerfile.test
New file
@@ -0,0 +1,17 @@
# 使用官方的 Node.js 20.10.0 版本作为基础镜像
FROM node:v20.14.0 AS build-env
# 设置工作目录
WORKDIR /app
# 将当前目录(Vue 项目目录)的内容复制到 /app 目录中
COPY . /app
# 安装项目依赖
RUN npm install
# 构建项目
RUN npm run build:dev
# 查看
RUN ls /app/dist
docker-compose-prod.yml
New file
@@ -0,0 +1,15 @@
version: '3.1'
services:
  piloth5:
    image: 172.21.81.239:7666/drone-web/command-center-dashboard:SNAPSHOT-$BUILD_NUMBER
    container_name: command-center-dashboard
    ports:
      - "8711:80"
    # 指定network
    networks:
      - drone_web_h5_network
# 指定
networks:
  drone_web_h5_network:
    external: true
docker-compose-test.yml
New file
@@ -0,0 +1,15 @@
version: '3.1'
services:
  piloth5:
    image: 172.21.81.239:7666/drone-web-test/command-center-dashboard:SNAPSHOT-$BUILD_NUMBER
    container_name: command-center-dashboard
    ports:
      - "8711:80"
    # 指定network
    networks:
      - drone_web_h5_network
# 指定
networks:
  drone_web_h5_network:
    external: true
rmi_his_image.sh
New file
@@ -0,0 +1,31 @@
#!/bin/bash
# 删除历史版本镜像
# 镜像仓库名称
RESP_NAME=drone
# 打印本次更新的版本号(为jenkins更新的版本号),小于这个版本号的都清理掉
echo $BUILD_NUMBER
# 需要清理的镜像名名称,一般是项目模块名称
echo $IMAGE_NAME
# 要比较的版本号(仅比较数字部分,忽略 -SNAPSHOT)
TARGET_BUILD_NUMBER=$BUILD_NUMBER
# 列出所有相关镜像
images=$(docker images --filter=reference="$RESP_NAME:SNAPSHOT-*" --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')
    # 检查是否提取到有效的构建号
    if [[ -z $build_number ]]; then
        echo "Warning: Could not extract build number from tag '$tag'. Skipping image '$image'."
        continue
    fi
    # 将构建号转换为整数进行比较
    if (( build_number < TARGET_BUILD_NUMBER )); then
        # 构建号小于目标值,删除镜像
        echo "Deleting image: $image (build number $build_number is less than $TARGET_BUILD_NUMBER)"
        docker rmi $image
    fi
done