Update deploy.yml

This commit is contained in:
Vaica committed 2026-06-29 18:47:25 +08:00
1 parent bb0a076431
commit fb8efb3612
1 file changed
+59 -44
+59 -44
View File
@@ -195,6 +195,25 @@ jobs:
echo "file_count=${FILE_COUNT}" >> $GITHUB_OUTPUT echo "file_count=${FILE_COUNT}" >> $GITHUB_OUTPUT
echo "total_size=${TOTAL_SIZE}" >> $GITHUB_OUTPUT echo "total_size=${TOTAL_SIZE}" >> $GITHUB_OUTPUT
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: '3.x'
- name: Install coscmd
run: pip install -U coscmd
- name: Configure coscmd
env:
COS_SECRET_ID: ${{ secrets.COS_SECRET_ID }}
COS_SECRET_KEY: ${{ secrets.COS_SECRET_KEY }}
COS_BUCKET: ${{ secrets.COS_BUCKET }}
COS_REGION: ${{ secrets.COS_REGION }}
run: coscmd config -a $COS_SECRET_ID -s $COS_SECRET_KEY -b $COS_BUCKET -r $COS_REGION
- name: Upload to Tencent COS
run: coscmd upload -r public/ / --ignore # 忽略已存在且未变化的文件
- name: Upload to UpYun and check hash - name: Upload to UpYun and check hash
env: env:
UPYUN_SERVICE: ${{ secrets.UPYUN_BUCKET }} UPYUN_SERVICE: ${{ secrets.UPYUN_BUCKET }}
@@ -319,32 +338,30 @@ jobs:
with: with:
fetch-depth: 1 fetch-depth: 1
- name: Download from UpYun - name: Setup Python
id: download uses: actions/setup-python@v4
with:
python-version: '3.x'
- name: Install coscmd
run: pip install -U coscmd
- name: Configure coscmd
env: env:
UPYUN_SERVICE: ${{ secrets.UPYUN_BUCKET }} COS_SECRET_ID: ${{ secrets.COS_SECRET_ID }}
UPYUN_OPERATOR: ${{ secrets.UPYUN_OPERATOR }} COS_SECRET_KEY: ${{ secrets.COS_SECRET_KEY }}
UPYUN_PASSWORD: ${{ secrets.UPYUN_PASSWORD }} COS_BUCKET: ${{ secrets.COS_BUCKET }}
COS_REGION: ${{ secrets.COS_REGION }}
run: coscmd config -a $COS_SECRET_ID -s $COS_SECRET_KEY -b $COS_BUCKET -r $COS_REGION
- name: Download from Tencent COS
id: download
run: | run: |
echo "📥 从 UpYun 下载构建产物..." echo "📥 从腾讯云 COS 下载构建产物..."
UPX_VERSION="0.4.9"
UPX_URL="https://collection.b0.upaiyun.com/softwares/upx/upx_${UPX_VERSION}_linux_amd64.tar.gz"
UPX_BIN="/tmp/upyun-upx"
if [ ! -x "$UPX_BIN" ]; then
curl -sL "$UPX_URL" -o /tmp/upx.tar.gz
tar -xzf /tmp/upx.tar.gz -C /tmp
mv /tmp/upx "$UPX_BIN"
chmod +x "$UPX_BIN"
fi
"$UPX_BIN" login "$UPYUN_SERVICE" "$UPYUN_OPERATOR" "$UPYUN_PASSWORD"
DOWNLOAD_START=$(date +%s) DOWNLOAD_START=$(date +%s)
mkdir -p public mkdir -p public
"$UPX_BIN" get / public/ coscmd download -r / public/
"$UPX_BIN" get /__build_hash > /tmp/current_hash 2>/dev/null || echo "" coscmd get /__build_hash /tmp/current_hash 2>/dev/null || echo ""
DOWNLOAD_END=$(date +%s) DOWNLOAD_END=$(date +%s)
DOWNLOAD_DURATION=$((DOWNLOAD_END - DOWNLOAD_START)) DOWNLOAD_DURATION=$((DOWNLOAD_END - DOWNLOAD_START))
echo "download_duration=${DOWNLOAD_DURATION}" >> $GITHUB_OUTPUT echo "download_duration=${DOWNLOAD_DURATION}" >> $GITHUB_OUTPUT
@@ -466,32 +483,30 @@ jobs:
with: with:
fetch-depth: 1 fetch-depth: 1
- name: Download from UpYun - name: Setup Python
id: download uses: actions/setup-python@v4
with:
python-version: '3.x'
- name: Install coscmd
run: pip install -U coscmd
- name: Configure coscmd
env: env:
UPYUN_SERVICE: ${{ secrets.UPYUN_BUCKET }} COS_SECRET_ID: ${{ secrets.COS_SECRET_ID }}
UPYUN_OPERATOR: ${{ secrets.UPYUN_OPERATOR }} COS_SECRET_KEY: ${{ secrets.COS_SECRET_KEY }}
UPYUN_PASSWORD: ${{ secrets.UPYUN_PASSWORD }} COS_BUCKET: ${{ secrets.COS_BUCKET }}
COS_REGION: ${{ secrets.COS_REGION }}
run: coscmd config -a $COS_SECRET_ID -s $COS_SECRET_KEY -b $COS_BUCKET -r $COS_REGION
- name: Download from Tencent COS
id: download
run: | run: |
echo "📥 从 UpYun 同步构建产物..." echo "📥 从腾讯云 COS 下载构建产物..."
UPX_VERSION="0.4.9"
UPX_URL="https://collection.b0.upaiyun.com/softwares/upx/upx_${UPX_VERSION}_linux_amd64.tar.gz"
UPX_BIN="/tmp/upyun-upx"
if [ ! -x "$UPX_BIN" ]; then
curl -sL "$UPX_URL" -o /tmp/upx.tar.gz
tar -xzf /tmp/upx.tar.gz -C /tmp
mv /tmp/upx "$UPX_BIN"
chmod +x "$UPX_BIN"
fi
"$UPX_BIN" login "$UPYUN_SERVICE" "$UPYUN_OPERATOR" "$UPYUN_PASSWORD"
DOWNLOAD_START=$(date +%s) DOWNLOAD_START=$(date +%s)
mkdir -p public mkdir -p public
"$UPX_BIN" get / public/ coscmd download -r / public/
"$UPX_BIN" get /__build_hash > /tmp/current_hash 2>/dev/null || echo "" coscmd get /__build_hash /tmp/current_hash 2>/dev/null || echo ""
DOWNLOAD_END=$(date +%s) DOWNLOAD_END=$(date +%s)
DOWNLOAD_DURATION=$((DOWNLOAD_END - DOWNLOAD_START)) DOWNLOAD_DURATION=$((DOWNLOAD_END - DOWNLOAD_START))
echo "download_duration=${DOWNLOAD_DURATION}" >> $GITHUB_OUTPUT echo "download_duration=${DOWNLOAD_DURATION}" >> $GITHUB_OUTPUT