手把手教你将 Github 私有仓库部署到 Vercel

简介: 手把手教你将 Github 私有仓库部署到 Vercel

最近我在我的 Web3 社群找了一群 Web3 爱好者组建了一个 DAO,正在 builidng 一款标准的 Web3 产品,通过这个产品来帮助一些朋友熟悉 Web3 产品从零到一完整的 building 过程。

所以我在 GitHub 创建了一个组织,项目的代码暂时也不打算开源。所以仓库都选择私有。

项目的运行平台使用的仍然是 Vercel。

Vercel 有三个付费计划,分别是 Hobby、Pro 和 Enterprise。

其中 Hobby 是免费的,Pro 是每个月 20 美元。

在项目初期,我们通常都会为了降低成本而选择 Hobby。等到项目成熟后才会升级到 Pro。

但 Hobby 有个问题,那就是不能将 GitHub 私有仓库连接到 Vercel 中。

之前我也有碰到过这个问题,解决方案有几种。

比如换成 BitBucket 私有仓库。

如果你坚持使用 GitHub 私有仓库,那么可以通过 GitHub Actions 的方式去部署项目。

由于我已经几年没用使用 GitHub Actions 这种方式连接 Vercel 了,很多操作和配置已经发生了变化,所以这里做一个记录,帮助一些对这些平台不熟悉的朋友。

Vercel 有一个教程:vercel.com/guides/how-…

但是教程中有一大堆文档链接,如果你不熟悉这些平台的话将会很麻烦。

所以你可以直接看我这篇文章,可以帮你节省很多时间。

第一步是登陆到 Vercel 的控制台。找到 Settings -> Tokens。然后创建一个 Token。

注意不要选择过期时间,因为我们一直要使用这个 Token。

image.png

创建完 Token 之后一定要复制下来,这一步结束后你将再也无法看到这个 Token。

image.png

第二步是全局安装 Vercel CLI,如果你安装过可以跳过这一步。


npm i -g vercel

第三步,在 Vercel 中创建一个项目,随便选择一个模板就可以。不过需要注意项目名要取对。

image.png

第四步,在本地项目文件夹中通过 vercel link 命令连接到 Vercel 项目。

这个过程需要你填写 Token、选择 GitHub、并填写第三步创建的项目名。

成功之后会在项目根目录下生成 .vercel/project.json 文件。

image.png

里面的 JSON 会有 projectId 和 orgId 两个字段,这两个字段我们接下来会用到。

第五步,在 GitHub 仓库中,找到 Settings -> Secrets and variables -> Actions 页面。

image.png

点击 New repository secret 创建私钥。

三个私钥的名字分别是 VERCEL_TOKENVERCEL_ORG_IDVERCEL_PROJECT_ID。这里不建议你修改。

第六步,在本地项目根目录下创建 .github/workflows/preview.yaml 文件,这个也是 GitHub Actions 的配置文件。

文件内容 Vercel 已经帮我们写好了,我们可以直接复制过来。


name: Vercel Preview Deployment
env:
  VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }}
  VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }}
on:
  push:
    branches-ignore:
      - main
jobs:
  Deploy-Preview:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Install Vercel CLI
      run: npm install --global vercel@latest
      - name: Pull Vercel Environment Information
      run: vercel pull --yes --environment=preview --token=${{ secrets.VERCEL_TOKEN }}
      - name: Build Project Artifacts
      run: vercel build --token=${{ secrets.VERCEL_TOKEN }}
      - name: Deploy Project Artifacts to Vercel
      run: vercel deploy --prebuilt --token=${{ secrets.VERCEL_TOKEN }}

你也可以根据自身情况对这个配置文件中的步骤做一些调整。

第七步,把这个配置文件推送到 GitHub。

到这里,所有的配置就全部完成了。

需要注意,只有 PR 到 main 才会触发 Actions 进行 Deploy。如果直接 Push 到 main 分支是不会触发的。



相关文章
|
3月前
|
存储
github pages 部署单页面
github pages 部署单页面
53 0
|
11月前
|
数据可视化
R沟通|部署 bookdown 文件到 GitHub 上
R沟通|部署 bookdown 文件到 GitHub 上
79 0
|
11月前
|
JavaScript Shell 网络安全
在Windows环境下使用hexo搭建博客以及部署到gitee / github
在Windows环境下使用hexo搭建博客以及部署到gitee / github
151 0
|
JavaScript 网络协议 Shell
Hexo+GitHub+Vercel搭建个人博客网站
直接安装,完成后,在cmd上输入node -v和npm -v查看是否安装成功,这两条命令如果都输出了版本号,那么就表示安装成功了
582 0
|
前端开发 JavaScript Shell
持续集成与部署(二):持续集成1-巧用 Github Actions
持续集成与部署(二):持续集成1-巧用 Github Actions
持续集成与部署(二):持续集成1-巧用 Github Actions
|
网络安全
接入GitHub私有仓库
接入GitHub私有仓库
346 0
接入GitHub私有仓库
|
存储 弹性计算 安全
使用ECS部署Github开源项目以及架设应用程序服务器的体验报告
使用ECS部署Github开源项目Mcsmanager以及架设Minecraft服务器(作业用)的体验以及经验分享
使用ECS部署Github开源项目以及架设应用程序服务器的体验报告
|
域名解析 前端开发 JavaScript
Hexo+Github+vercel 搭建个人博客教程(二)
这篇教程接上篇教程,在上篇教程的基础上在进行
952 1
|
数据可视化 安全 Unix
【Git|GitHub|SSH|Sourcetree 下篇】GitHub|Sourcetree|SSH部署及Git-flow工作流
GitHub|Sourcetree|SSH快速部署、git-flow工作流、Remote Repository的克隆和推送
224 0
【Git|GitHub|SSH|Sourcetree 下篇】GitHub|Sourcetree|SSH部署及Git-flow工作流
|
Java Maven
Java:发布Maven项目到Github私有仓库
Java:发布Maven项目到Github私有仓库
251 0
Java:发布Maven项目到Github私有仓库