Vercel雲服務和Serverless


如何免費為你的組織項目配置 Vercel

前言

Vercel 是我自己非常喜歡的平台,我自己的一些項目都會選擇使用 Vercel 來部署。比如 LogolyEasyWPBook 等等。

主要是其在中國大陸的訪問速度是比 Netlify 和 Github Pages 更快。但不得不說的是,Vercel 提供了 Production 環境和 Development 環境,對於項目開發時是非常有用的,當你提交一個 commit 或者是一個 PR 時, Vercel 會自動幫你部署,並將相應的 URL comment 到你的 commit 或 PR 下,你只需要點擊相應鏈接,就可以預覽效果,十分方便。

但 Vercel 的 Teams 功能是付費的,對於一些 Organization 來說,你需要付費用 Vercel 成本是比較高的。特別是如果你是一個 OpenSource Project,你大概率入不敷出。在這種情況下,如何才能在 Organization Project 中免費使用 Vercel 呢?我考慮了一個繞過去的方法。

我們之所以無法使用在項目中無法免費使用 Vercel 是 Vercel 的產品策略問題。

而我們被禁用的無法使用官方自建的 Github Apps 來部署,但不意味着我們不可以自己實現這樣的邏輯,來實現在組織內項目進行push。

而想要達成這樣的效果,需要你具備兩個條件

  1. 你的代碼每一次提交都會自動觸發 CI
  2. 你的 CI 中可以自動上傳代碼到 Vercel

而前者,可以通過 Github 提供的 Action 來完成。后者則可以通過編寫代碼來完成。不過好在,我在 Github 的 Marketplace 中找到了別人已經寫好的 Action ,因此又可以少寫一些代碼(開心😄)。

接下來,看看具體要如何操作。

步驟

安裝依賴

在進行后續的操作之前, 你需要先安裝配置過程中的依賴。

執行如下命令安裝 Vercel CLI

npm i -g vercel

創建一個項目

為了正常部署,你需要創建一個項目,並將其 push 到 Github。當然,如果你已經創建好了項目,就直接把項目 Clone 到本地就好。

使用 Vercel 部署這個項目

這一步是為了在 Vercel 上創建一個項目,因為 Vercel 不支持通過網頁端創建項目,只支持在 CLI 或通過 Git 接入自動創建。

在你的項目根目錄,執行命令 vercel 來觸發 Vercel 的部署,它會自動上傳你的項目到 Vercel 。如果你之前登錄過,會看到類似這樣的界面,根據其提示進行配置就好。如果你之前沒有登錄過,你登錄后會出現類似的界面。根據提示進行配置。

獲取配置

想要部署一個項目到 Vercel ,你需要知道三樣東西

  1. Access Token: 用於 CLI 的登錄和 API 的調用,沒有 Access Token ,Vercel 就沒有辦法獲取到你的用戶身份,進行鑒權校驗。
  2. Org ID:Org ID 是指你在 Vercel 上的用戶 ID。由於 Vercel 中一個人其實可以管理和配置多個 Team ,因此需要借助 Org ID 來指定要管理哪個賬號下的項目。
  3. Project ID:很好理解,如果你要管理 Project ,就需要一個 Project ID。

其中,Access Token 你需要從 Vercel 后台的 Tokens 頁面獲取。

而 Org ID 則可以從你的項目中的 .vercel/project.json 中獲取。你會獲得類似下面這樣的內容,其中的 OrgID 就是你在 Vercel 上的 ID ,而 Project ID 就是對應的項目 ID。

{"orgId":"r359XAnYONVAmiXtdxZ22A2E","projectId":"Qma3GdwoiAfJSsbsSydBgaCDh8LJj6wTWvvqpUwrN6J2F3"}

准備好了這三項以后,就可以進入到下一個環節,配置 Action Secret 了。

配置 Github Action Secret

Github Action 提供了 Secret 的機制,用來讓你保存哪些安全密鑰,避免直接寫在 Action File 中,出現泄漏的可能。

打開你的項目的 Settings – Secrets 頁面

在這里你可以新增 Secret ,你需要新增三個 Secret ,分別是

  • ORG_ID: 填寫你從 .vercel/project.json 中獲取到的 orgId;
  • PROJECT_ID:填寫你從 .vercel/project.json 中獲取到的 projectId;
  • VERCEL_TOKEN:填寫你從 Vercel 后台生成的 Token。

這樣,就配置好了 Secret ,接下來就可以在你的項目中加入 a、Action 配置文件,完成項目的配置。

添加 Action 配置文件

根據 Github 的規范,你需要將你的 Action 配置文件放置在項目根目錄的 .github/workflows/xxx.yml 文件中,其中 xxx 是你的 Action 名,比如叫 vercel.yml 。

這里我使用的是 ngduc 寫的 vercel-deploy-action

按照路徑創建好 vercel.yml 文件,然后在其中加入如下代碼

name: deploy website
on:
  push:
    branches:
      - master
  pull_request:
    branches:
      - master
jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: ngduc/vercel-deploy-action@master
        with:
          vercel-cli: vercel
          vercel-token: ${{ secrets.VERCEL_TOKEN }}
          vercel-org-id: ${{ secrets.ORG_ID}}
          vercel-project-id: ${{ secrets.PROJECT_ID}}
          github-token: ${{ secrets.GITHUB_TOKEN }}

粘貼進去以后,將 vercel.yml 添加到 git 控制中,並提交到 Github 上,就可以實現觸發 Vercel 了。

總結

雖然 Vercel 本身不能免費提供 Organization 的支持,但是我們可以通過一些小的技巧,繞過其官方的配置。對於一些只是將 Vercel 配置為開發者預覽的場景下來說,還是足夠的。

但如果你希望將 Vercel 配置為生產環境,那么 Teams Plan 可以提供的更多的權限控制,會是你需要的,買一個,也不貴,是吧?

 
更多詳情: https://wivwiv.com/post/zeit-use-guide/
原文鏈接:https://www.ixiqin.com/2020/06/how-to-free-for-your-organizations-project-configuration-vercel/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM