使用 CI/CD 流水线部署
使用 GitHub Actions、Bitbucket 和 GitLab CI 来部署您的边缘函数。
您可以使用流行的 CI/CD 工具如 GitHub Actions、Bitbucket 和 GitLab CI 来自动化部署边缘函数。
GitHub Actions
您可以使用官方的 setup-cli
GitHub Action 在 GitHub Actions 中运行 Supabase CLI 命令。
以下 GitHub Action 会在代码合并到 main
分支时部署所有边缘函数:
123456789101112131415161718192021222324name: Deploy Functionon: push: branches: - main workflow_dispatch:jobs: deploy: runs-on: ubuntu-latest env: SUPABASE_ACCESS_TOKEN: ${{ secrets.SUPABASE_ACCESS_TOKEN }} PROJECT_ID: your-project-id steps: - uses: actions/checkout@v4 - uses: supabase/setup-cli@v1 with: version: latest - run: supabase functions deploy --project-ref $PROJECT_ID
GitLab CI
以下是使用 GitLab CI 进行部署的示例管道配置:
1234567891011121314151617181920212223242526272829303132image: node:20# 任务执行阶段及其顺序列表stages: - setup - deploy# 该任务在 setup 阶段运行,会首先执行setup-npm: stage: setup script: - npm i supabase cache: paths: - node_modules/ artifacts: paths: - node_modules/# 该任务在 deploy 阶段运行,只有当 build 阶段的任务成功完成后才会开始deploy-function: stage: deploy script: - npx supabase init - npx supabase functions deploy --debug services: - docker:dind variables: DOCKER_HOST: tcp://docker:2375
Bitbucket 流水线
以下是用于通过 Bitbucket 部署的示例流水线配置。
123456789101112131415161718image: node:20pipelines: default: - step: name: 初始化设置 caches: - node script: - npm i supabase - parallel: - step: name: 函数部署 script: - npx supabase init - npx supabase functions deploy --debug services: - docker
声明式配置
可以通过 config.toml
文件设置单个函数的配置,例如 JWT 验证 和 导入映射位置。
12[functions.hello-world]verify_jwt = false
相关资源
- 查看 GitHub 上的示例。