You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在GitHub Actions中获取Vercel部署ID

在GitHub Actions中获取Vercel部署ID的方法及相关API说明

一、从Vercel CLI输出中直接提取部署ID

你当前的部署命令仅捕获了部署URL,可通过调整Vercel CLI的输出格式,直接获取部署ID:

  1. 修改部署流程,添加--json参数让CLI输出JSON格式的完整部署详情:
# 保留原构建命令
vercel build --debug

# 执行部署并获取JSON格式的部署信息
DEPLOYMENT_INFO=$(vercel deploy --prebuilt --yes --json)

# 用jq工具分别提取部署URL和部署ID(需确保环境已安装jq)
DEPLOYMENT_URL=$(echo "$DEPLOYMENT_INFO" | jq -r '.url')
DEPLOYMENT_ID=$(echo "$DEPLOYMENT_INFO" | jq -r '.id')

# 将变量输出到GitHub Actions的环境变量中
echo "DEPLOYMENT_URL=${DEPLOYMENT_URL}" >> "$GITHUB_OUTPUT"
echo "DEPLOYMENT_ID=${DEPLOYMENT_ID}" >> "$GITHUB_OUTPUT"
  1. 注意事项:
    • GitHub Actions的Ubuntu runner默认未安装jq,可在步骤前添加安装命令:sudo apt-get install -y jq;macOS runner则用brew install jq。
    • 确保使用的Vercel CLI版本支持--json参数(v28+版本均支持)。

二、使用Vercel API获取部署ID

Vercel官方提供了直接查询部署信息的API,可用于获取部署ID:

1. 核心API调用方式

  • 获取项目最新部署ID:通过项目ID查询最近的部署记录,直接提取ID

    # 替换{PROJECT_ID}为你的Vercel项目ID,VERCEL_TOKEN需提前配置在GitHub Secrets中
    curl -H "Authorization: Bearer $VERCEL_TOKEN" \
         "https://api.vercel.com/v9/projects/{PROJECT_ID}/deployments?limit=1" \
         | jq -r '.deployments[0].id'
    
  • 根据部署URL反向查询:若已有部署URL,可通过List Deployments接口过滤匹配的URL获取对应ID,但该方式需遍历结果,效率不如直接从CLI获取。

2. 授权说明

调用Vercel API需要有效的访问令牌(VERCEL_TOKEN),可在Vercel账户的「Settings > Tokens」页面生成,之后添加到GitHub仓库的Secrets中,在Actions中通过${{ secrets.VERCEL_TOKEN }}引用。

内容的提问来源于stack exchange,提问作者Shivam Srivastava

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 04:34:57