Skip to content

Commit 7a0c5d3

Browse files
authored
Merge pull request #788 from liangliangyy/dev
增加自动部署
2 parents 5c30407 + a7bda93 commit 7a0c5d3

File tree

2 files changed

+328
-84
lines changed

2 files changed

+328
-84
lines changed

.github/workflows/deploy-master.yml

Lines changed: 33 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -169,13 +169,39 @@ jobs:
169169
170170
# 发送到Server酱
171171
if [ -n "${{ secrets.SERVERCHAN_KEY }}" ]; then
172-
curl -X POST "https://sctapi.ftqq.com/${{ secrets.SERVERCHAN_KEY }}.send" \
173-
-H "Content-Type: application/json" \
174-
-d "{
175-
\"title\": \"${TITLE}\",
176-
\"desp\": \"${MESSAGE}\"
177-
}"
178-
echo "📱 Server酱通知已发送"
172+
echo "📱 准备发送Server酱通知..."
173+
174+
# 转义特殊字符以确保JSON格式正确
175+
ESCAPED_TITLE=$(echo "${TITLE}" | sed 's/"/\\"/g' | sed 's/\\/\\\\/g')
176+
ESCAPED_MESSAGE=$(echo "${MESSAGE}" | sed 's/"/\\"/g' | sed 's/\\/\\\\/g')
177+
178+
# 创建JSON payload
179+
JSON_PAYLOAD="{\"title\": \"${ESCAPED_TITLE}\", \"desp\": \"${ESCAPED_MESSAGE}\"}"
180+
181+
echo "🔗 发送到: https://sctapi.ftqq.com/${{ secrets.SERVERCHAN_KEY }}.send"
182+
echo "📝 标题: ${TITLE}"
183+
184+
# 发送请求并捕获响应
185+
RESPONSE=$(curl --location "https://sctapi.ftqq.com/${{ secrets.SERVERCHAN_KEY }}.send" \
186+
--header "Content-Type: application/json" \
187+
--data "${JSON_PAYLOAD}" \
188+
--write-out "HTTPSTATUS:%{http_code}" \
189+
--silent)
190+
191+
# 分离HTTP状态码和响应体
192+
HTTP_STATUS=$(echo $RESPONSE | tr -d '\n' | sed -e 's/.*HTTPSTATUS://')
193+
RESPONSE_BODY=$(echo $RESPONSE | sed -e 's/HTTPSTATUS:.*//g')
194+
195+
echo "📊 HTTP状态码: ${HTTP_STATUS}"
196+
echo "📄 响应内容: ${RESPONSE_BODY}"
197+
198+
if [ "${HTTP_STATUS}" -eq 200 ]; then
199+
echo "✅ Server酱通知发送成功"
200+
else
201+
echo "❌ Server酱通知发送失败 (HTTP ${HTTP_STATUS})"
202+
echo "🔍 错误详情: ${RESPONSE_BODY}"
203+
fi
179204
else
180205
echo "⚠️ 未配置Server酱密钥,跳过通知"
206+
echo "💡 提示: 请在GitHub Secrets中添加 SERVERCHAN_KEY"
181207
fi

0 commit comments

Comments
 (0)