在本页
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@v3
- name: Install Deno
uses: denoland/setup-deno@v1
with:
deno-version: v1.x
- name: Build step
run: "deno task build"
- name: Upload to Deno Deploy
uses: denoland/deployctl@v1
with:
project: "<your-project-name>"
entrypoint: "main.ts"
root: "."
有关更多详细信息,请参阅 deployctl 自述文件。