在 Vercel 和 Netlify 上部署#
Vercel 和 Netfliy 是用于部署静态网站的流行托管平台。
它们使从现有 git 仓库托管静态网站变得容易且方便,并通过其 CDN 使它们广泛可用。
Netlify#
要将您自己的 JupyterLite 部署到 Netlify,您可以从 JupyterLite Demo 开始,通过从模板生成一个新的仓库。
然后添加一个 runtime.txt
文件,内容为 3.7
,以指定 Python 3.7 作为依赖项。
最后,指定 jupyter lite build --contents content --output-dir dist
作为“构建命令”,并将 dist
作为“发布目录”。
您可能还想指定 --debug
标志以获取额外的日志消息。
Vercel#
与 Netlify 一样,Vercel 可以连接到现有的 git 仓库,并在推送和 PR 事件(预览)时无缝部署静态文件。
这里的配置与 Netlify 非常相似。您可以指定相同的 jupyter lite build --contents content --output-dir dist
构建命令,并将 dist
配置为发布目录。
使用 micromamba
创建构建环境#
像 Netlify 和 Vercel 这样的托管平台的构建环境通常对构建机器上安装的 Python 版本控制有限。
这种情况在一段时间内一直存在,因为它们的构建镜像只包含 Python 3.6,而 JupyterLite 需要 Python 3.7+。在某些情况下,这可能会限制功能,尤其是在您想要对构建过程有更多控制时。
幸运的是,可以运行任意 bash 脚本,这提供了一个方便的逃生通道。
在 requirements-deploy.txt
文件中指定 Python 包,如果需要,还可以添加其他依赖项。
jupyterlab~=3.4
jupyterlite-core
jupyterlite-pyodide-kernel
然后创建一个新的 deploy.sh
文件,内容如下:
#!/bin/bash
yum install wget
wget -qO- https://micromamba.snakepit.net/api/micromamba/linux-64/latest | tar -xvj bin/micromamba
./bin/micromamba shell init -s bash -p ~/micromamba
source ~/.bashrc
# activate the environment and install a new version of Python
micromamba activate
micromamba install python=3.10 -c conda-forge -y
# install the dependencies
python -m pip install -r requirements-deploy.txt
# build the JupyterLite site
jupyter lite --version
jupyter lite build --contents content --output-dir dist
Micromamba 创建了一个新的自包含环境,这使得安装任何所需的软件包变得非常方便,而不会受到构建镜像的限制。
然后配置构建命令和输出目录,例如在 Vercel 上。
您可能还想指定 --debug
标志以获取额外的日志消息。
jupyter lite build --debug