Update deploy.yml
This commit is contained in:
1 parent
5793280712
commit
8db5e417a8
1 file changed
+24
-48
@@ -258,6 +258,13 @@ jobs:
|
||||
echo "📤 更新 hash 文件到腾讯云 COS..."
|
||||
coscmd upload public/.build_hash /__build_hash
|
||||
|
||||
- name: Cache upx
|
||||
uses: actions/cache@v4
|
||||
id: upx-cache
|
||||
with:
|
||||
path: /tmp/upyun-upx
|
||||
key: upx-0.4.9
|
||||
|
||||
- name: Upload to UpYun
|
||||
if: steps.check-upload.outputs.need_upload == 'true'
|
||||
env:
|
||||
@@ -372,12 +379,15 @@ jobs:
|
||||
COS_REGION: ${{ secrets.COS_REGION }}
|
||||
run: coscmd config -a $COS_SECRET_ID -s $COS_SECRET_KEY -b $COS_BUCKET -r $COS_REGION
|
||||
|
||||
- name: Get last build hash from COS
|
||||
id: last-hash
|
||||
- name: Get build hash from COS (public URL)
|
||||
id: hash
|
||||
env:
|
||||
COS_BUCKET: ${{ secrets.COS_BUCKET }}
|
||||
COS_REGION: ${{ secrets.COS_REGION }}
|
||||
run: |
|
||||
COS_URL="https://${COS_BUCKET}.cos.${COS_REGION}.myqcloud.com/__build_hash"
|
||||
echo "🔍 从腾讯云 COS 获取上次部署的 hash..."
|
||||
coscmd download /__build_hash /tmp/last_hash 2>/dev/null || echo ""
|
||||
LAST_HASH=$(cat /tmp/last_hash 2>/dev/null || echo "")
|
||||
LAST_HASH=$(curl -sL "$COS_URL" 2>/dev/null || echo "")
|
||||
if [ -z "$LAST_HASH" ]; then
|
||||
echo "⚠️ 没有找到上次部署的 hash(首次部署)"
|
||||
else
|
||||
@@ -385,20 +395,11 @@ jobs:
|
||||
fi
|
||||
echo "last_hash=${LAST_HASH}" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Get current hash from COS
|
||||
id: download
|
||||
run: |
|
||||
echo "📥 从腾讯云 COS 获取 build_hash..."
|
||||
coscmd download /__build_hash /tmp/current_hash 2>/dev/null || echo ""
|
||||
|
||||
CURRENT_HASH=$(cat /tmp/current_hash 2>/dev/null || echo "")
|
||||
echo "current_hash=${CURRENT_HASH}" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Check if deployment is needed
|
||||
id: check
|
||||
run: |
|
||||
CURRENT_HASH="${{ steps.download.outputs.current_hash }}"
|
||||
LAST_HASH="${{ steps.last-hash.outputs.last_hash }}"
|
||||
CURRENT_HASH="${{ needs.build.outputs.build_hash }}"
|
||||
LAST_HASH="${{ steps.hash.outputs.last_hash }}"
|
||||
|
||||
echo "当前 build_hash: $CURRENT_HASH"
|
||||
echo "上次部署 hash: $LAST_HASH"
|
||||
@@ -483,48 +484,23 @@ jobs:
|
||||
id: start-upyun
|
||||
run: echo "start_time=$(date +%s)" >> $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
|
||||
- name: Get build hash from COS (public URL)
|
||||
id: hash
|
||||
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: Get last build hash from COS
|
||||
id: last-hash
|
||||
run: |
|
||||
echo "� 从腾讯云 COS 获取上次部署的 hash..."
|
||||
coscmd download /__build_hash /tmp/last_hash 2>/dev/null || echo ""
|
||||
LAST_HASH=$(cat /tmp/last_hash 2>/dev/null || echo "")
|
||||
if [ -z "$LAST_HASH" ]; then
|
||||
echo "⚠️ 没有找到上次部署的 hash(首次部署)"
|
||||
else
|
||||
echo "上次部署 hash: $LAST_HASH"
|
||||
fi
|
||||
echo "last_hash=${LAST_HASH}" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Get current hash from COS
|
||||
id: download
|
||||
run: |
|
||||
echo "📥 从腾讯云 COS 获取 build_hash..."
|
||||
coscmd download /__build_hash /tmp/current_hash 2>/dev/null || echo ""
|
||||
CURRENT_HASH=$(cat /tmp/current_hash 2>/dev/null || echo "")
|
||||
COS_URL="https://${COS_BUCKET}.cos.${COS_REGION}.myqcloud.com/__build_hash"
|
||||
echo "🔍 从腾讯云 COS 获取 hash..."
|
||||
CURRENT_HASH=$(curl -sL "$COS_URL" 2>/dev/null || echo "")
|
||||
echo "当前 build_hash: $CURRENT_HASH"
|
||||
echo "current_hash=${CURRENT_HASH}" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Check if deployment is needed
|
||||
id: check
|
||||
run: |
|
||||
CURRENT_HASH="${{ steps.download.outputs.current_hash }}"
|
||||
LAST_HASH="${{ steps.last-hash.outputs.last_hash }}"
|
||||
CURRENT_HASH="${{ steps.hash.outputs.current_hash }}"
|
||||
LAST_HASH="${{ needs.build.outputs.build_hash }}"
|
||||
|
||||
echo "当前 build_hash: $CURRENT_HASH"
|
||||
echo "上次部署 hash: $LAST_HASH"
|
||||
|
||||
Reference in new issue
Block a user