Преглед изворни кода

ci 使用不依赖docker的上传方式

dengdx пре 3 недеља
родитељ
комит
981e206f40
1 измењених фајлова са 27 додато и 13 уклоњено
  1. 27 13
      .github/workflows/build-linux-arm-appimage.yml

+ 27 - 13
.github/workflows/build-linux-arm-appimage.yml

@@ -53,21 +53,35 @@ jobs:
       - name: Set timestamp version
         run: echo "VERSION=$(date +%Y%m%d-%H%M%S)" >> $GITHUB_ENV
 
-      - name: Create version directory on server
-        uses: appleboy/ssh-action@v1.0.0
-        with:
-          host: ${{ secrets.DEPLOY_HOST }}
-          username: ${{ secrets.DEPLOY_USER }}
-          key: ${{ secrets.DEPLOY_KEY }}
-          script: mkdir -p ${{ secrets.DEPLOY_PATH }}/${{ env.VERSION }}
+      - name: Upload dist/h5/ to server
+        run: |
+          # 1. 将私钥写入临时文件
+          echo "${{ secrets.DEPLOY_KEY }}" > /tmp/deploy_key
+          chmod 600 /tmp/deploy_key
+          
+          # 2. 创建远程目录
+          ssh -i /tmp/deploy_key -o StrictHostKeyChecking=no \
+            "${{ secrets.DEPLOY_USER }}@${{ secrets.DEPLOY_HOST }}" \
+            "mkdir -p ${{ secrets.DEPLOY_PATH }}/${{ env.VERSION }}/"
+          
+          # 3. 上传文件(不删除本地)
+          rsync -avz -e "ssh -i /tmp/deploy_key -o StrictHostKeyChecking=no" \
+            dist/h5/ \
+            "${{ secrets.DEPLOY_USER }}@${{ secrets.DEPLOY_HOST }}:${{ secrets.DEPLOY_PATH }}/${{ env.VERSION }}/"
+          
+          # 4. 清理密钥文件
+          rm -f /tmp/deploy_key
 
-      - name: Upload files via rsync
+      - name: Update latest symlink
         run: |
-          # 去掉 --delete 参数,只上传/更新文件,不删除目标目录任何内容
-          rsync -avz dist/h5/ \
-            ${{ secrets.DEPLOY_USER }}@${{ secrets.DEPLOY_HOST }}:${{ secrets.DEPLOY_PATH }}/${{ env.VERSION }}/
-        env:
-          SSH_PRIVATE_KEY: ${{ secrets.DEPLOY_KEY }}
+          echo "${{ secrets.DEPLOY_KEY }}" > /tmp/deploy_key
+          chmod 600 /tmp/deploy_key
+          
+          ssh -i /tmp/deploy_key -o StrictHostKeyChecking=no \
+            "${{ secrets.DEPLOY_USER }}@${{ secrets.DEPLOY_HOST }}" \
+            "cd ${{ secrets.DEPLOY_PATH }} && ln -sfn ${{ env.VERSION }} latest"
+          
+          rm -f /tmp/deploy_key
 
   # build-pkg:
   #   needs: deploy-h5-production