Bläddra i källkod

fix: 修复Docker构建网络连接问题

sansan 7 månader sedan
förälder
incheckning
10784f0ec5
5 ändrade filer med 54 tillägg och 30 borttagningar
  1. 7 0
      .github/workflows/docker.yml
  2. 43 26
      docker/Dockerfile
  3. 1 1
      main.py
  4. 2 2
      readme.md
  5. 1 1
      version

+ 7 - 0
.github/workflows/docker.yml

@@ -21,6 +21,9 @@ jobs:
 
       - name: Set up Docker Buildx
         uses: docker/setup-buildx-action@v3
+        with:
+          driver-opts: |
+            network=host
 
       - name: Login to Docker Hub
         uses: docker/login-action@v3
@@ -41,6 +44,8 @@ jobs:
 
       - name: Build and push
         uses: docker/build-push-action@v5
+        env:
+          BUILDKIT_PROGRESS: plain
         with:
           context: .
           file: ./docker/Dockerfile
@@ -50,3 +55,5 @@ jobs:
           labels: ${{ steps.meta.outputs.labels }}
           cache-from: type=gha
           cache-to: type=gha,mode=max
+          build-args: |
+            BUILDKIT_INLINE_CACHE=1

+ 43 - 26
docker/Dockerfile

@@ -8,38 +8,55 @@ ENV SUPERCRONIC_VERSION=v0.2.34
 
 RUN set -ex && \
     apt-get update && \
-    apt-get install -y --no-install-recommends curl && \
+    apt-get install -y --no-install-recommends curl ca-certificates && \
     case ${TARGETARCH} in \
-        amd64) \
-            export SUPERCRONIC_URL=https://github.com/aptible/supercronic/releases/download/${SUPERCRONIC_VERSION}/supercronic-linux-amd64; \
-            export SUPERCRONIC_SHA1SUM=e8631edc1775000d119b70fd40339a7238eece14; \
-            export SUPERCRONIC=supercronic-linux-amd64; \
-            ;; \
-        arm64) \
-            export SUPERCRONIC_URL=https://github.com/aptible/supercronic/releases/download/${SUPERCRONIC_VERSION}/supercronic-linux-arm64; \
-            export SUPERCRONIC_SHA1SUM=4ab6343b52bf9da592e8b4bb7ae6eb5a8e21b71e; \
-            export SUPERCRONIC=supercronic-linux-arm64; \
-            ;; \
-        arm) \
-            export SUPERCRONIC_URL=https://github.com/aptible/supercronic/releases/download/${SUPERCRONIC_VERSION}/supercronic-linux-arm; \
-            export SUPERCRONIC_SHA1SUM=4ba4cd0da62082056b6def085fa9377d965fbe01; \
-            export SUPERCRONIC=supercronic-linux-arm; \
-            ;; \
-        386) \
-            export SUPERCRONIC_URL=https://github.com/aptible/supercronic/releases/download/${SUPERCRONIC_VERSION}/supercronic-linux-386; \
-            export SUPERCRONIC_SHA1SUM=80b4fff03a8d7bf2f24a1771f37640337855e949; \
-            export SUPERCRONIC=supercronic-linux-386; \
-            ;; \
-        *) \
-            echo "Unsupported architecture: ${TARGETARCH}"; \
-            exit 1; \
-            ;; \
+    amd64) \
+    export SUPERCRONIC_URL=https://github.com/aptible/supercronic/releases/download/${SUPERCRONIC_VERSION}/supercronic-linux-amd64; \
+    export SUPERCRONIC_SHA1SUM=e8631edc1775000d119b70fd40339a7238eece14; \
+    export SUPERCRONIC=supercronic-linux-amd64; \
+    ;; \
+    arm64) \
+    export SUPERCRONIC_URL=https://github.com/aptible/supercronic/releases/download/${SUPERCRONIC_VERSION}/supercronic-linux-arm64; \
+    export SUPERCRONIC_SHA1SUM=4ab6343b52bf9da592e8b4bb7ae6eb5a8e21b71e; \
+    export SUPERCRONIC=supercronic-linux-arm64; \
+    ;; \
+    arm) \
+    export SUPERCRONIC_URL=https://github.com/aptible/supercronic/releases/download/${SUPERCRONIC_VERSION}/supercronic-linux-arm; \
+    export SUPERCRONIC_SHA1SUM=4ba4cd0da62082056b6def085fa9377d965fbe01; \
+    export SUPERCRONIC=supercronic-linux-arm; \
+    ;; \
+    386) \
+    export SUPERCRONIC_URL=https://github.com/aptible/supercronic/releases/download/${SUPERCRONIC_VERSION}/supercronic-linux-386; \
+    export SUPERCRONIC_SHA1SUM=80b4fff03a8d7bf2f24a1771f37640337855e949; \
+    export SUPERCRONIC=supercronic-linux-386; \
+    ;; \
+    *) \
+    echo "Unsupported architecture: ${TARGETARCH}"; \
+    exit 1; \
+    ;; \
     esac && \
-    curl -fsSLO "$SUPERCRONIC_URL" && \
+    echo "Downloading supercronic for ${TARGETARCH} from ${SUPERCRONIC_URL}" && \
+    # 添加重试机制和超时设置
+    for i in 1 2 3 4 5; do \
+    echo "Download attempt $i/5"; \
+    if curl --fail --silent --show-error --location --retry 3 --retry-delay 2 --connect-timeout 30 --max-time 120 -o "$SUPERCRONIC" "$SUPERCRONIC_URL"; then \
+    echo "Download successful"; \
+    break; \
+    else \
+    echo "Download attempt $i failed, exit code: $?"; \
+    if [ $i -eq 5 ]; then \
+    echo "All download attempts failed"; \
+    exit 1; \
+    fi; \
+    sleep $((i * 2)); \
+    fi; \
+    done && \
     echo "${SUPERCRONIC_SHA1SUM}  ${SUPERCRONIC}" | sha1sum -c - && \
     chmod +x "$SUPERCRONIC" && \
     mv "$SUPERCRONIC" "/usr/local/bin/${SUPERCRONIC}" && \
     ln -s "/usr/local/bin/${SUPERCRONIC}" /usr/local/bin/supercronic && \
+    # 验证安装
+    supercronic -version && \
     apt-get remove -y curl && \
     apt-get clean && \
     rm -rf /var/lib/apt/lists/*

+ 1 - 1
main.py

@@ -20,7 +20,7 @@ import requests
 import yaml
 
 
-VERSION = "2.3.0"
+VERSION = "2.3.1"
 
 
 # === SMTP邮件配置 ===

+ 2 - 2
readme.md

@@ -9,7 +9,7 @@
 [![GitHub Stars](https://img.shields.io/github/stars/sansan0/TrendRadar?style=flat-square&logo=github&color=yellow)](https://github.com/sansan0/TrendRadar/stargazers)
 [![GitHub Forks](https://img.shields.io/github/forks/sansan0/TrendRadar?style=flat-square&logo=github&color=blue)](https://github.com/sansan0/TrendRadar/network/members)
 [![License](https://img.shields.io/badge/license-GPL--3.0-blue.svg?style=flat-square)](LICENSE)
-[![Version](https://img.shields.io/badge/version-v2.3.0-green.svg?style=flat-square)](https://github.com/sansan0/TrendRadar)
+[![Version](https://img.shields.io/badge/version-v2.3.1-green.svg?style=flat-square)](https://github.com/sansan0/TrendRadar)
 
 [![企业微信通知](https://img.shields.io/badge/企业微信-通知-00D4AA?style=flat-square)](https://work.weixin.qq.com/)
 [![Telegram通知](https://img.shields.io/badge/Telegram-通知-00D4AA?style=flat-square)](https://telegram.org/)
@@ -296,7 +296,7 @@ GitHub 一键 Fork 即可使用,无需编程基础。
 > 
 > 下一次**新功能**,大概会是 ai 分析功能(●'◡'●)
 
-### 2025/09/22 - v2.3.0
+### 2025/09/22 - v2.3.1
 
 - **新增邮件推送功能**,支持将热点新闻报告发送到邮箱
 - **智能 SMTP 识别**:自动识别 Gmail、QQ邮箱、Outlook、网易邮箱等 10+ 种邮箱服务商配置

+ 1 - 1
version

@@ -1 +1 @@
-2.3.0
+2.3.1