Parcourir la source

👷 ci(release): add wechat related build arguments and environment variables

- 在Dockerfile中添加微信相关构建参数定义
- 在Dockerfile中设置微信相关环境变量
- 在Gitea workflow中添加微信相关密钥作为构建参数传递

🔧 chore(docker): add wechat configuration parameters

- 添加WX_MINI_APP_ID等微信小程序和支付相关配置参数
- 通过构建参数将敏感信息注入Docker镜像
- 完善Dockerfile环境变量配置
yourname il y a 3 mois
Parent
commit
95a0efee36
2 fichiers modifiés avec 32 ajouts et 0 suppressions
  1. 10 0
      .gitea/workflows/release.yaml
  2. 22 0
      Dockerfile

+ 10 - 0
.gitea/workflows/release.yaml

@@ -50,5 +50,15 @@ jobs:
           context: .
           file: ./Dockerfile
           push: true
+          build-args: |
+            WX_MINI_APP_ID=${{ secrets.WX_MINI_APP_ID }}
+            WX_MINI_APP_SECRET=${{ secrets.WX_MINI_APP_SECRET }}
+            WECHAT_MERCHANT_ID=${{ secrets.WECHAT_MERCHANT_ID }}
+            WECHAT_V3_KEY=${{ secrets.WECHAT_V3_KEY }}
+            WECHAT_PAY_NOTIFY_URL=${{ secrets.WECHAT_PAY_NOTIFY_URL }}
+            WECHAT_PUBLIC_KEY=${{ secrets.WECHAT_PUBLIC_KEY }}
+            WECHAT_PRIVATE_KEY=${{ secrets.WECHAT_PRIVATE_KEY }}
+            WECHAT_MERCHANT_CERT_SERIAL_NO=${{ secrets.WECHAT_MERCHANT_CERT_SERIAL_NO }}
+            WECHAT_PLATFORM_CERT_SERIAL_NO=${{ secrets.WECHAT_PLATFORM_CERT_SERIAL_NO }}
           tags: |
             registry.cn-beijing.aliyuncs.com/d8dcloud/d8d-user-release:${{ env.REPO_NAME }}-${{ env.VERSION }}

+ 22 - 0
Dockerfile

@@ -1,6 +1,17 @@
 # 使用指定基础镜像
 FROM node:20.19.4
 
+# 定义构建参数
+ARG WX_MINI_APP_ID
+ARG WX_MINI_APP_SECRET
+ARG WECHAT_MERCHANT_ID
+ARG WECHAT_V3_KEY
+ARG WECHAT_PAY_NOTIFY_URL
+ARG WECHAT_PUBLIC_KEY
+ARG WECHAT_PRIVATE_KEY
+ARG WECHAT_MERCHANT_CERT_SERIAL_NO
+ARG WECHAT_PLATFORM_CERT_SERIAL_NO
+
 # 安装 pnpm
 RUN npm install -g pnpm@10.18.3
 
@@ -20,6 +31,17 @@ RUN pnpm install --frozen-lockfile
 # 复制项目文件
 COPY . .
 
+# 设置环境变量
+ENV WX_MINI_APP_ID=${WX_MINI_APP_ID}
+ENV WX_MINI_APP_SECRET=${WX_MINI_APP_SECRET}
+ENV WECHAT_MERCHANT_ID=${WECHAT_MERCHANT_ID}
+ENV WECHAT_V3_KEY=${WECHAT_V3_KEY}
+ENV WECHAT_PAY_NOTIFY_URL=${WECHAT_PAY_NOTIFY_URL}
+ENV WECHAT_PUBLIC_KEY=${WECHAT_PUBLIC_KEY}
+ENV WECHAT_PRIVATE_KEY=${WECHAT_PRIVATE_KEY}
+ENV WECHAT_MERCHANT_CERT_SERIAL_NO=${WECHAT_MERCHANT_CERT_SERIAL_NO}
+ENV WECHAT_PLATFORM_CERT_SERIAL_NO=${WECHAT_PLATFORM_CERT_SERIAL_NO}
+
 # 构建 web 应用
 RUN cd web && pnpm run build