deno.com
本頁面中

CI 和 GitHub Actions

Deno Deploy 的 Git 整合功能夠部署推送到 GitHub 儲存庫的程式碼變更。在生產分支上的提交將會部署為生產部署。在所有其他分支上的提交將會部署為預覽部署。

Git 整合有兩種操作模式

  • 自動:Deno Deploy 會在您每次推送時自動從您的儲存庫來源提取程式碼和資產,並部署它。此模式非常快速,但不允許建置步驟。對於大多數使用者來說,這是建議的模式。
  • GitHub Actions:在此模式中,您從 GitHub Actions 工作流程將您的程式碼和資產推送到 Deno Deploy。這允許您在部署之前執行建置步驟。

Deno Deploy 將根據您的自訂部署配置選擇適當的模式。以下,我們將更詳細地介紹自動GitHub Actions 模式的不同配置。

自動 跳到標題

如果您的專案不需要任何額外的建置步驟,則系統會選擇自動模式。進入點檔案僅僅是 Deno Deploy 將執行的檔案。

GitHub Actions 跳到標題

如果您在專案配置中輸入安裝步驟和/或建置步驟中的命令,Deno Deploy 將建立必要 GitHub Actions 工作流程檔案並將其推送到您的儲存庫中。在此工作流程檔案中,我們利用 deployctl Github action 來部署您的專案。您可以執行任何您需要執行的操作,例如在部署到 Deno Deploy 之前執行建置命令。

若要配置您想要執行的預處理命令,請點擊選擇您的 git 儲存庫後出現的顯示進階選項按鈕。然後根據需要輸入數值到輸入框。

提示

例如,如果您想要為 Fresh 專案啟用 預先編譯建置,您將在建置步驟框中輸入 deno task build

另請參閱 Fresh 文件,以了解如何將 Fresh 專案部署到 Deno Deploy。

Deno Deploy 產生並推送到您的儲存庫的 GitHub Actions 工作流程檔案如下所示。

.github/workflows/deploy.yml
name: Deploy
on:
  push:
    branches: main
  pull_request:
    branches: main

jobs:
  deploy:
    name: Deploy
    runs-on: ubuntu-latest

    permissions:
      id-token: write # Needed for auth with Deno Deploy
      contents: read # Needed to clone the repository

    steps:
      - name: Clone repository
        uses: actions/checkout@v4

      - name: Install Deno
        uses: denoland/setup-deno@v2
        with:
          deno-version: v2.x

      - name: Build step
        run: "deno task build"

      - name: Upload to Deno Deploy
        uses: denoland/deployctl@v1
        with:
          project: ""
          entrypoint: "main.ts"
          root: "."

請參閱 deployctl README 以了解更多詳細資訊。

您找到需要的資訊了嗎?

隱私權政策