Vercel News
Push images to Vercel Container Registry from GitHub Actions
6.7内容质量
TL;DR · AI 摘要
Push images to Vercel Container Registry from GitHub Actions - Vercel You can now push container images from GitHub Acti...
核心要点
- 主题聚焦:Push images to Vercel Container Registry from Gi
- 来源:Vercel News,建议结合原文判断细节。
- AI 分析暂不可用,本条为保底评分与摘要。
#AI#云计算#安全#开源
打开原文从 GitHub Actions 推送镜像到 Vercel Container Registry - Vercel
现在您可以无需存储长期有效的注册表凭证,即可从 GitHub Actions 向 Vercel Container Registry (VCR) 推送容器镜像。
新的 vercel/vcr-action/login 动作通过 GitHub OIDC 认证工作流程。它将工作流程的 OIDC 令牌兑换为短期有效的 Vercel 访问令牌,然后使用该令牌登录到 vcr.vercel.com。当任务结束时,该动作会登出并撤销 Vercel 令牌。
开始操作前:
- 在您的 Vercel 团队中创建一个 OIDC 策略,该策略需匹配 GitHub 仓库和工作流程,并授予对 VCR 的读写权限。
- 将您的 Vercel 团队 ID 存储为 GitHub 仓库变量,例如 VERCEL_TEAM_ID,同时存储团队 slug、项目 slug 和用于镜像标签的仓库名称。
- 为工作流程或任务分配 id-token: write 权限。
然后在构建和推送镜像前添加登录步骤:
code
1
name
:
推送至 VCR
2
3
on
:
4
push
:
5
branches
:
[
main
]
6
7
permissions
:
8
contents
:
read
9
id-token
:
write
10
11
jobs
:
12
push
:
13
runs-on
:
ubuntu
-
latest
14
steps
:
15
-
uses
:
actions/checkout@v4
16
17
-
uses
:
docker/setup
-
buildx
-
action@v3
18
19
-
name
:
登录到 VCR
20
uses
:
vercel/vcr
-
action/login@v1
21
with
:
22
team
:
$
{
{
vars.VERCEL_TEAM_ID
}
}
23
24
-
name
:
构建和推送
25
uses
:
docker/build
-
push
-
action@v6
26
with
:
27
context
:
.
28
platforms
:
linux/amd64
29
provenance
:
false
30
tags
:
vcr.vercel.com/$
{
{
vars.VERCEL_TEAM_SLUG
}
}
/$
{
{
vars.VERCEL_PROJECT_SLUG
}
}
/$
{
{
vars.VCR_REPOSITORY
}
}
:
latest
31
outputs
:
type=image
,
push=true
,
oci
-
mediatypes=true
,
compression=zstd
,
compression
-
level=3
,
force
-
compression=true通过 OIDC 认证后,从 GitHub Actions 构建并推送容器镜像到 VCR。
该动作默认使用 Docker 进行认证。如需使用 Podman 或 Buildah,可传递 engines 参数。
当 VCR 完成 linux/amd64 镜像的准备后,您可以将其用作自定义 Vercel Sandbox 镜像。在同一个项目中,可使用 <repository>:<tag> 的格式引用该镜像。
了解更多内容,请参阅 VCR 文档 和 GitHub Actions 指南。