Git 提供商负责 Studio 与您的仓库之间的同步。当您从 Studio 发布时,它们负责将内容更改(提交)推送到您的 Git 仓库。
Studio 支持两个用于仓库操作的 Git 提供商:GitHub 和 GitLab。
若要使用 GitHub 作为您的 Git 提供商,请在 nuxt.config.ts 中配置您的仓库设置:
export default defineNuxtConfig({
studio: {
repository: {
provider: 'github',
owner: 'your-username',
repo: 'your-repo',
branch: 'main' // 可选,默认值为 'main'
}
}
})
访问 GitHub 设置 → 个人访问令牌,并创建新的细粒度个人访问令牌。
填写以下必填项:
将令牌添加到您的部署平台的环境变量中:
STUDIO_GITHUB_TOKEN=<your_github_personal_access_token>
若要使用 GitLab 作为您的 Git 提供商,请在 nuxt.config.ts 中配置您的仓库设置:
export default defineNuxtConfig({
studio: {
repository: {
owner: 'your-username', // 或者群组名称
repo: 'your-repo',
branch: 'main' // 可选,默认值为 'main'
}
}
})
访问 GitLab 的用户设置 → 个人访问令牌(或者您的群组/组织设置页面,如果适用)。
填写以下必填项:
api(用于读写仓库内容) 将令牌添加到您的部署平台的环境变量中:
STUDIO_GITLAB_TOKEN=<your_gitlab_personal_access_token>
要将内容更改发布到您的仓库,Studio 需要一个具有写权限的有效访问令牌。该令牌来源有两种情况:
当您使用 GitHub OAuth 或 GitLab OAuth 作为认证提供商时,认证过程中获取的 OAuth 令牌会被自动用于 Git 操作,无需额外配置。
# GitHub OAuth - 令牌在登录时自动获取
STUDIO_GITHUB_CLIENT_ID=<your_github_client_id>
STUDIO_GITHUB_CLIENT_SECRET=<your_github_client_secret>
# 或 GitLab OAuth - 令牌在登录时自动获取
STUDIO_GITLAB_APPLICATION_ID=<your_gitlab_application_id>
STUDIO_GITLAB_CLIENT_SECRET=<your_gitlab_secret>
当您使用 Google OAuth 或 自定义认证 作为认证提供商时,必须提供带有仓库写权限的个人访问令牌(PAT):
# 针对 GitHub 仓库
STUDIO_GITHUB_TOKEN=<your_github_personal_access_token>
# 针对 GitLab 仓库
STUDIO_GITLAB_TOKEN=<your_gitlab_personal_access_token>
默认情况下,Studio 会将更改提交到您配置文件中指定的分支(通常是 main)。但您也可以配置 Studio 使用预发布或预览分支。
这在您希望先在预览环境中审核更改,然后再合并到生产环境时非常有用。
更新 nuxt.config.ts,将分支指向您的预发布分支。
export default defineNuxtConfig({
studio: {
repository: {
owner: 'your-username',
repo: 'your-repo',
branch: process.env.STUDIO_BRANCH_NAME || 'main'
}
}
})
配置您的托管平台,将预发布分支部署到预览 URL(例如 staging.yourdomain.com)。
专门为预发布环境创建一个 OAuth 应用,使用您的预发布 URL 作为回调地址。设置说明请参见认证提供商。
根据您使用的 Git 和认证提供商,配置预发布环境的环境变量。
访问 https://staging.yourdomain.com/_studio 编辑内容。所有提交都会推送到您配置的预发布分支。
当您满意预发布分支上的更改后,创建从预发布分支到主分支的拉取请求(Pull Request),以部署到生产环境。