generated from guanyuankai/bonus-edge-proxy
Fixed(CICD): 更新了CICD的项目名称,使其和项目保持一致。
This commit is contained in:
parent
47f7da7795
commit
7afc4f5e1c
89
.drone.yml
89
.drone.yml
|
|
@ -3,74 +3,29 @@ type: docker
|
||||||
name: build-and-push-arm64
|
name: build-and-push-arm64
|
||||||
|
|
||||||
platform:
|
platform:
|
||||||
os: linux
|
os: linux
|
||||||
arch: arm64
|
arch: arm64
|
||||||
|
|
||||||
trigger:
|
trigger:
|
||||||
event:
|
event:
|
||||||
- tag
|
- tag
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: build-and-push-to-gitea
|
- name: build-and-push-to-gitea
|
||||||
image: 192.168.0.75:3000/guanyuankai/plugins-docker:latest
|
image: 192.168.0.75:3000/guanyuankai/plugins-docker:latest
|
||||||
privileged: true
|
privileged: true
|
||||||
settings:
|
settings:
|
||||||
registry: 192.168.0.75:3000
|
registry: 192.168.0.75:3000
|
||||||
username:
|
username:
|
||||||
from_secret: gitea_username
|
from_secret: gitea_username
|
||||||
password:
|
password:
|
||||||
from_secret: gitea_password
|
from_secret: gitea_password
|
||||||
repo: 192.168.0.75:3000/guanyuankai/Vehicle_Road_Counter
|
repo: 192.168.0.75:3000/guanyuankai/vehicle_road_counter
|
||||||
insecure: true
|
insecure: true
|
||||||
mirror: "https://docker.m.daocloud.io"
|
mirror: "https://docker.m.daocloud.io"
|
||||||
tags:
|
tags:
|
||||||
- latest
|
- latest
|
||||||
- "${DRONE_TAG}"
|
- "${DRONE_TAG}"
|
||||||
dockerfile: docker/Dockerfile.prod
|
dockerfile: docker/Dockerfile.prod
|
||||||
context: .
|
context: .
|
||||||
platforms: linux/arm64
|
platforms: linux/arm64
|
||||||
|
|
||||||
# - name: scp-config-to-edge
|
|
||||||
# image: appleboy/drone-scp
|
|
||||||
# settings:
|
|
||||||
# host:
|
|
||||||
# from_secret: edge_host_ip
|
|
||||||
# username:
|
|
||||||
# from_secret: edge_user
|
|
||||||
# password:
|
|
||||||
# from_secret: edge_password
|
|
||||||
# port: 22
|
|
||||||
# target: /opt/edge-proxy
|
|
||||||
# source:
|
|
||||||
# - docker-compose.prod.yml
|
|
||||||
# - mediamtx.yml
|
|
||||||
# - mosquitto/config/mosquitto.conf
|
|
||||||
|
|
||||||
# - name: deploy-to-edge
|
|
||||||
# image: appleboy/drone-ssh
|
|
||||||
# settings:
|
|
||||||
# host:
|
|
||||||
# from_secret: edge_host_ip
|
|
||||||
# username:
|
|
||||||
# from_secret: edge_user
|
|
||||||
# password:
|
|
||||||
# from_secret: edge_password
|
|
||||||
# port: 22
|
|
||||||
|
|
||||||
# ignore_stderr: true
|
|
||||||
# script:
|
|
||||||
|
|
||||||
# - mkdir -p /opt/edge-proxy
|
|
||||||
# - cd /opt/edge-proxy
|
|
||||||
# - echo "$REGISTRY_PASSWORD" | docker login 192.168.0.75:3000 -u "$REGISTRY_USER" --password-stdin
|
|
||||||
|
|
||||||
# - docker compose -f docker-compose.prod.yml pull
|
|
||||||
|
|
||||||
# - docker compose -f docker-compose.prod.yml up -d --remove-orphans
|
|
||||||
|
|
||||||
# - docker image prune -f
|
|
||||||
# environment:
|
|
||||||
# REGISTRY_USER:
|
|
||||||
# from_secret: gitea_username
|
|
||||||
# REGISTRY_PASSWORD:
|
|
||||||
# from_secret: gitea_password
|
|
||||||
|
|
|
||||||
|
|
@ -96,7 +96,7 @@ target_link_libraries(vehicle_road_lib PUBLIC
|
||||||
add_executable(vehicle_road_counter
|
add_executable(vehicle_road_counter
|
||||||
src/main.cpp
|
src/main.cpp
|
||||||
)
|
)
|
||||||
target_link_libraries(edge_proxy PRIVATE
|
target_link_libraries(vehicle_road_counter PRIVATE
|
||||||
vehicle_road_lib
|
vehicle_road_lib
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,24 @@
|
||||||
|
# Changelog
|
||||||
|
|
||||||
|
本项目的所有显著更改都将记录在此文件中。
|
||||||
|
|
||||||
|
## [Unreleased]
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- 新增了 Docker 部署脚本 (MR-102)。
|
||||||
|
- 支持了 GPT-4o 模型接口。
|
||||||
|
|
||||||
|
## [1.0.1] - 2025-11-04
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- 修复了用户登录时 Token 过期导致的 500 错误 (#45)。
|
||||||
|
- 修复了移动端 CSS 样式错乱问题。
|
||||||
|
|
||||||
|
## [1.0.0] - 2025-10-01
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- 初始化项目,完成基础架构搭建。
|
||||||
|
- 实现标书生成的 MVP 版本。
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
# docker-compose.yml (最终版 - 使用命名卷)
|
# docker-compose.yml (最终版 - 使用命名卷)
|
||||||
services:
|
services:
|
||||||
vehicle-road-counter:
|
vehicle-road-counter:
|
||||||
image: 192.168.0.75:3000/guanyuankai/vehicle-road-counter:latest
|
image: 192.168.0.75:3000/guanyuankai/vehicle_road_counter:latest
|
||||||
container_name: vehicle-road-counter-prod
|
container_name: vehicle-road-counter-prod
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
platform: linux/arm64
|
platform: linux/arm64
|
||||||
|
|
|
||||||
|
|
@ -7,19 +7,19 @@ FROM 192.168.0.75:3000/guanyuankai/ubuntu-arm64:22.04 AS build_env
|
||||||
ENV DEBIAN_FRONTEND=noninteractive
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
RUN apt-get update && \
|
RUN apt-get update && \
|
||||||
apt-get install -y --no-install-recommends \
|
apt-get install -y --no-install-recommends \
|
||||||
sudo build-essential cmake git unzip pkg-config \
|
sudo build-essential cmake git unzip pkg-config \
|
||||||
software-properties-common gpg-agent \
|
software-properties-common gpg-agent \
|
||||||
&& \
|
&& \
|
||||||
add-apt-repository -y ppa:jjriek/panfork-mesa && \
|
add-apt-repository -y ppa:jjriek/panfork-mesa && \
|
||||||
add-apt-repository -y ppa:jjriek/rockchip && \
|
add-apt-repository -y ppa:jjriek/rockchip && \
|
||||||
add-apt-repository -y ppa:jjriek/rockchip-multimedia && \
|
add-apt-repository -y ppa:jjriek/rockchip-multimedia && \
|
||||||
apt-get update && \
|
apt-get update && \
|
||||||
apt-get install -y --no-install-recommends \
|
apt-get install -y --no-install-recommends \
|
||||||
libssl-dev libspdlog-dev libsqlite3-dev libboost-all-dev \
|
libssl-dev libspdlog-dev libsqlite3-dev libboost-all-dev \
|
||||||
librockchip-mpp-dev librga-dev libgstreamer1.0-dev \
|
librockchip-mpp-dev librga-dev libgstreamer1.0-dev \
|
||||||
libgstreamer-plugins-base1.0-dev libasound2-dev libopencv-dev \
|
libgstreamer-plugins-base1.0-dev libasound2-dev libopencv-dev \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
COPY . /app
|
COPY . /app
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
@ -32,14 +32,14 @@ COPY rknn_sdk/librknn_api/aarch64/librknn_api.so /usr/lib/librknn_api.so
|
||||||
RUN ldconfig
|
RUN ldconfig
|
||||||
|
|
||||||
RUN cd /app/external/paho.mqtt.c && \
|
RUN cd /app/external/paho.mqtt.c && \
|
||||||
cmake -Bbuild -H. -DPAHO_WITH_SSL=ON -DPAHO_BUILD_SAMPLES=OFF -DPAHO_BUILD_DOCUMENTATION=OFF && \
|
cmake -Bbuild -H. -DPAHO_WITH_SSL=ON -DPAHO_BUILD_SAMPLES=OFF -DPAHO_BUILD_DOCUMENTATION=OFF && \
|
||||||
cmake --build build --target install --parallel $(nproc) && \
|
cmake --build build --target install --parallel $(nproc) && \
|
||||||
cd /app/external/paho.mqtt.cpp && \
|
cd /app/external/paho.mqtt.cpp && \
|
||||||
cmake -Bbuild -H. -DPAHO_WITH_SSL=ON -DPAHO_BUILD_SAMPLES=OFF -DPAHO_BUILD_DOCUMENTATION=OFF && \
|
cmake -Bbuild -H. -DPAHO_WITH_SSL=ON -DPAHO_BUILD_SAMPLES=OFF -DPAHO_BUILD_DOCUMENTATION=OFF && \
|
||||||
cmake --build build --target install --parallel $(nproc)
|
cmake --build build --target install --parallel $(nproc)
|
||||||
|
|
||||||
RUN cmake -S /app -B /app/build
|
RUN cmake -S /app -B /app/build
|
||||||
RUN cmake --build /app/build --target edge_proxy --parallel $(nproc)
|
RUN cmake --build /app/build --target vehicle_road_counter --parallel $(nproc)
|
||||||
|
|
||||||
RUN ls -l /app/build/
|
RUN ls -l /app/build/
|
||||||
|
|
||||||
|
|
@ -54,45 +54,45 @@ ENV DEBIAN_FRONTEND=noninteractive
|
||||||
# 1. (作为 root) 安装系统依赖
|
# 1. (作为 root) 安装系统依赖
|
||||||
# *** 修正:严格遵循原始 PPA 逻辑 ***
|
# *** 修正:严格遵循原始 PPA 逻辑 ***
|
||||||
RUN apt-get update && \
|
RUN apt-get update && \
|
||||||
apt-get install -y --no-install-recommends \
|
apt-get install -y --no-install-recommends \
|
||||||
unzip software-properties-common gpg-agent \
|
unzip software-properties-common gpg-agent \
|
||||||
python3 python3-pip \
|
python3 python3-pip \
|
||||||
&& \
|
&& \
|
||||||
# *** 先添加 PPA ***
|
# *** 先添加 PPA ***
|
||||||
add-apt-repository -y ppa:jjriek/panfork-mesa && \
|
add-apt-repository -y ppa:jjriek/panfork-mesa && \
|
||||||
add-apt-repository -y ppa:jjriek/rockchip && \
|
add-apt-repository -y ppa:jjriek/rockchip && \
|
||||||
add-apt-repository -y ppa:jjriek/rockchip-multimedia && \
|
add-apt-repository -y ppa:jjriek/rockchip-multimedia && \
|
||||||
# *** 再次 Update,使 PPA 生效 ***
|
# *** 再次 Update,使 PPA 生效 ***
|
||||||
apt-get update && \
|
apt-get update && \
|
||||||
# *** 现在才安装 PPA 中的包 ***
|
# *** 现在才安装 PPA 中的包 ***
|
||||||
apt-get install -y --no-install-recommends \
|
apt-get install -y --no-install-recommends \
|
||||||
espeak-ng-data libespeak1 \
|
espeak-ng-data libespeak1 \
|
||||||
libssl-dev libspdlog-dev libsqlite3-dev libboost-all-dev \
|
libssl-dev libspdlog-dev libsqlite3-dev libboost-all-dev \
|
||||||
librockchip-mpp-dev librga-dev gstreamer1.0-rockchip \
|
librockchip-mpp-dev librga-dev gstreamer1.0-rockchip \
|
||||||
libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev \
|
libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev \
|
||||||
alsa-utils libasound2-plugins gstreamer1.0-alsa \
|
alsa-utils libasound2-plugins gstreamer1.0-alsa \
|
||||||
gstreamer1.0-plugins-base gstreamer1.0-plugins-good \
|
gstreamer1.0-plugins-base gstreamer1.0-plugins-good \
|
||||||
gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly \
|
gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly \
|
||||||
gstreamer1.0-libav gstreamer1.0-tools gstreamer1.0-x \
|
gstreamer1.0-libav gstreamer1.0-tools gstreamer1.0-x \
|
||||||
gstreamer1.0-pulseaudio gstreamer1.0-rtsp \
|
gstreamer1.0-pulseaudio gstreamer1.0-rtsp \
|
||||||
libopencv-dev nmap \
|
libopencv-dev nmap \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
# 2. (作为 root) 创建用户和组 (已移除 sudo)
|
# 2. (作为 root) 创建用户和组 (已移除 sudo)
|
||||||
RUN groupadd -r developers && \
|
RUN groupadd -r developers && \
|
||||||
useradd -ms /bin/bash -g developers dev && \
|
useradd -ms /bin/bash -g developers dev && \
|
||||||
groupadd -g 20 dialout || true && \
|
groupadd -g 20 dialout || true && \
|
||||||
groupadd -g 44 video || true && \
|
groupadd -g 44 video || true && \
|
||||||
groupadd -g 110 render || true && \
|
groupadd -g 110 render || true && \
|
||||||
usermod -a -G dialout dev && \
|
usermod -a -G dialout dev && \
|
||||||
usermod -a -G video dev && \
|
usermod -a -G video dev && \
|
||||||
usermod -a -G render dev && \
|
usermod -a -G render dev && \
|
||||||
usermod -a -G audio dev
|
usermod -a -G audio dev
|
||||||
|
|
||||||
# 3. (作为 root) 复制所有文件
|
# 3. (作为 root) 复制所有文件
|
||||||
COPY --from=build_env /usr/local/lib/ /usr/local/lib/
|
COPY --from=build_env /usr/local/lib/ /usr/local/lib/
|
||||||
COPY --from=build_env /usr/local/include/ /usr/local/include/
|
COPY --from=build_env /usr/local/include/ /usr/local/include/
|
||||||
COPY --from=build_env /app/build/edge_proxy /app/edge_proxy
|
COPY --from=build_env /app/build/vehicle_road_counter /app/vehicle_road_counter
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
COPY rknn_sdk/librknn_api/include/rknn_api.h /usr/local/include/
|
COPY rknn_sdk/librknn_api/include/rknn_api.h /usr/local/include/
|
||||||
|
|
@ -101,7 +101,7 @@ COPY rknn_sdk/librknn_api/aarch64/librknnrt.so /usr/lib/librknnrt.so
|
||||||
COPY rknn_sdk/librknn_api/aarch64/librknn_api.so /usr/lib/librknn_api.so
|
COPY rknn_sdk/librknn_api/aarch64/librknn_api.so /usr/lib/librknn_api.so
|
||||||
COPY rknn_sdk/whl/*.whl /tmp/rknn_wheels/
|
COPY rknn_sdk/whl/*.whl /tmp/rknn_wheels/
|
||||||
RUN pip3 install /tmp/rknn_wheels/*.whl && \
|
RUN pip3 install /tmp/rknn_wheels/*.whl && \
|
||||||
rm -rf /tmp/rknn_wheels
|
rm -rf /tmp/rknn_wheels
|
||||||
RUN chmod +x /usr/bin/rknn_server
|
RUN chmod +x /usr/bin/rknn_server
|
||||||
RUN ldconfig
|
RUN ldconfig
|
||||||
|
|
||||||
|
|
@ -121,11 +121,11 @@ ENV PATH="/home/dev/.local/bin:${PATH}"
|
||||||
|
|
||||||
# 7. (作为 dev) 安装 Python 包
|
# 7. (作为 dev) 安装 Python 包
|
||||||
RUN pip install --no-cache-dir --user -i https://mirrors.aliyun.com/pypi/simple/ \
|
RUN pip install --no-cache-dir --user -i https://mirrors.aliyun.com/pypi/simple/ \
|
||||||
piper-tts \
|
piper-tts \
|
||||||
onvif-zeep \
|
onvif-zeep \
|
||||||
python-nmap \
|
python-nmap \
|
||||||
psutil \
|
psutil \
|
||||||
paramiko
|
paramiko
|
||||||
|
|
||||||
# 8. (作为 dev) 设置默认命令
|
# 8. (作为 dev) 设置默认命令
|
||||||
CMD ["/app/edge_proxy"]
|
CMD ["/app/vehicle_road_counter"]
|
||||||
|
|
|
||||||
|
|
@ -216,7 +216,7 @@ int main(int argc, char *argv[])
|
||||||
spdlog::info("[Shutdown] D. Disconnecting from MQTT broker...");
|
spdlog::info("[Shutdown] D. Disconnecting from MQTT broker...");
|
||||||
mqtt_client.disconnect();
|
mqtt_client.disconnect();
|
||||||
|
|
||||||
spdlog::info("[Shutdown] G. Stopping main event loop...");
|
spdlog::info("[Shutdown] E. Stopping main event loop...");
|
||||||
g_io_context.stop();
|
g_io_context.stop();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue