跳转到主要内容

使用Vercel发布数据的Datasette插件

项目描述

datasette-publish-vercel

PyPI Changelog Tests License

Datasette插件,用于使用Vercel发布数据。

安装

在Datasette相同的环境中安装此插件。

$ datasette install datasette-publish-vercel

用法

首先,按照他们的说明安装Vercel CLI工具。

运行vercel login登录到(或创建)一个账户。

现在您可以使用datasette publish vercel发布您的数据

datasette publish vercel my-database.db --project=my-database

需要提供--project参数 - 它指定用于部署的项目名称。这将用作部署URL的一部分。

其他选项

  • --no-prod将项目部署到项目而不会更新“生产”URL别名以指向新部署。没有此选项,所有部署都将直接进入生产。
  • --debug启用Vercel CLI调试输出。
  • --token允许您传递Now认证令牌,而不是首先运行now login来配置工具。令牌可以在Vercel网络仪表板中的“帐户设置”->“令牌”下创建。
  • --public运行vercel --public将应用程序源代码发布到/_src(例如,https://datasette-public.now.sh/_src),并在/_logs(例如,https://datasette-public.now.sh/_logs)中显示最近日志。
  • --generate-dir - 默认情况下,此工具在临时目录中生成新的Vercel应用程序,部署它然后删除该目录。使用--generate-dir=my-app将生成的应用程序文件输出到您选择的目录。然后您可以在该目录中运行vercel来部署它。
  • --setting default_page_size 10 - 使用此选项设置Datasette设置,如文档中所述。这是对不支持的--extra-options选项的替代。

完整帮助

警告: 这些选项中的一些尚未由该插件实现。特别是以下选项目前无法使用

  • --extra-options - 请使用上面描述的 --setting 代替。
  • --plugin-secret
  • --version-note
$ datasette publish vercel --help

Usage: datasette publish vercel [OPTIONS] [FILES]...

  Publish to https://vercel.com/

Options:
  -m, --metadata FILENAME         Path to JSON/YAML file containing metadata to publish
  --extra-options TEXT            Extra options to pass to datasette serve
  --branch TEXT                   Install datasette from a GitHub branch e.g. main
  --template-dir DIRECTORY        Path to directory containing custom templates
  --plugins-dir DIRECTORY         Path to directory containing custom plugins
  --static MOUNT:DIRECTORY        Serve static files from this directory at /MOUNT/...
  --install TEXT                  Additional packages (e.g. plugins) to install
  --plugin-secret <TEXT TEXT TEXT>...
                                  Secrets to pass to plugins, e.g. --plugin-secret
                                  datasette-auth-github client_id xxx
  --version-note TEXT             Additional note to show on /-/versions
  --secret TEXT                   Secret used for signing secure values, such as signed
                                  cookies
  --title TEXT                    Title for metadata
  --license TEXT                  License label for metadata
  --license_url TEXT              License URL for metadata
  --source TEXT                   Source label for metadata
  --source_url TEXT               Source URL for metadata
  --about TEXT                    About label for metadata
  --about_url TEXT                About URL for metadata
  --token TEXT                    Auth token to use for deploy
  --project PROJECT               Vercel project name to use  [required]
  --scope TEXT                    Optional Vercel scope (e.g. a team name)
  --no-prod                       Don't deploy directly to production
  --debug                         Enable Vercel CLI debug output
  --public                        Publish source with Vercel CLI --public
  --generate-dir DIRECTORY        Output generated application files and stop without
                                  deploying
  --generate-vercel-json          Output generated vercel.json file and stop without
                                  deploying
  --vercel-json FILENAME          Custom vercel.json file to use instead of generating
                                  one
  --setting SETTING...            Setting, see docs.datasette.io/en/stable/settings.html
  --crossdb                       Enable cross-database SQL queries
  --help                          Show this message and exit.

使用自定义 vercel.json 文件

如果您想向您的 Vercel 配置添加额外的重定向或类似功能,您可能需要提供一个自定义的 vercel.json 文件。

要执行此操作,首先使用 --generate-vercel-json 选项生成一个配置文件(不运行部署)

datasette publish vercel my-database.db \
  --project=my-database \
  --generate-vercel-json > vercel.json

现在,您可以编辑创建的 vercel.json 文件以添加您自定义的选项。

然后使用以下命令运行部署

datasette publish vercel my-database.db \
  --project=my-database \
  --vercel-json=vercel.json

设置 DATASETTE_SECRET

Datasette 使用 一个密钥字符串 来完成诸如对身份验证cookie进行签名等任务。此密钥在服务器重启时会被重置,这将导致使用已签名的cookie进行认证的用户被注销。

您可以通过生成一个 DATASETTE_SECRET 密钥字符串并将其设置为 Vercel 环境变量 来避免这种情况。如果您这样做,密钥将保持一致,您的用户不会被注销。

与 GitHub Actions 一起使用

此插件可以与 GitHub Actions 一起使用,以在向仓库推送新内容或按计划自动部署 Datasette 实例。

GitHub Actions 运行器已经安装了 Vercel 部署工具。您需要在 vercel.com/account/tokens 创建您的账户的 API 令牌,并将其作为名为 VERCEL_TOKEN 的秘密存储在您的 GitHub 仓库中。

确保您的 workflow 已使用 pip 安装了 datasettedatasette-publish-vercel,然后在您的 GitHub Actions workflow 中添加以下步骤

    - name: Deploy Datasette using Vercel
      env:
        VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }}
      run: |-
        datasette publish vercel mydb.db \
          --token $VERCEL_TOKEN \
          --project my-vercel-project

您可以在 simonw/til 仓库中 找到使用 Vercel 的完整 workflow 示例。

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源分布

datasette-publish-vercel-0.14.2.tar.gz (10.8 kB 查看哈希值)

上传时间

构建分布

datasette_publish_vercel-0.14.2-py3-none-any.whl (11.4 kB 查看哈希值)

上传时间 Python 3

由以下支持