deploySite()
将 Remotion 项目打包并上传到 Cloud Storage 存储桶。一旦上传完成,Cloud Run 服务可以通过指定 URL 渲染 Remotion 项目中的任何合成。
- 如果在本地进行更改,您需要重新部署站点。您可以使用
siteName
覆盖以前的站点。 - 请注意,Remotion 项目将部署到子目录,而不是域的根目录。因此,您必须确保如果在 Remotion 项目中指定了路径,则这些路径能够处理此情况。
- 在调用此函数之前,您应该创建一个存储桶,请参阅
getOrCreateBucket()
。
示例
ts
import {deploySite } from "@remotion/cloudrun";importpath from "path";const {serveUrl } = awaitdeploySite ({entryPoint :path .resolve (process .cwd (), "src/index.ts"),bucketName : "remotioncloudrun-c7fsl3d",options : {onBundleProgress : (progress ) => {// Progress is between 0 and 100console .log (`Bundle progress: ${progress }%`);},onUploadProgress : ({totalFiles ,filesUploaded ,totalSize ,sizeUploaded ,}) => {console .log (`Upload progress: Total files ${totalFiles }, Files uploaded ${filesUploaded }, Total size ${totalSize }, Size uploaded ${sizeUploaded }`,);},},});console .log (serveUrl );
ts
import {deploySite } from "@remotion/cloudrun";importpath from "path";const {serveUrl } = awaitdeploySite ({entryPoint :path .resolve (process .cwd (), "src/index.ts"),bucketName : "remotioncloudrun-c7fsl3d",options : {onBundleProgress : (progress ) => {// Progress is between 0 and 100console .log (`Bundle progress: ${progress }%`);},onUploadProgress : ({totalFiles ,filesUploaded ,totalSize ,sizeUploaded ,}) => {console .log (`Upload progress: Total files ${totalFiles }, Files uploaded ${filesUploaded }, Total size ${totalSize }, Size uploaded ${sizeUploaded }`,);},},});console .log (serveUrl );
参数
一个具有以下属性的对象:
entryPoint
指向 Remotion 项目入口点的绝对路径。通常情况下,您的 Remotion 项目的入口点存储在 src/entry.tsx
中。
bucketName
要部署网站的存储桶。该存储桶必须由 Remotion Cloud Run 创建。
siteName?
可选
指定您希望站点部署到的 Cloud Storage 存储桶的子文件夹。如果省略此属性,将创建一个具有随机名称的新子文件夹。如果已存在与您传递的名称相同的站点,则将覆盖它。只能包含以下字符:0-9
、a-z
、A-Z
、-
、!
、_
、.
、*
、'
、(
、)
options?
可选
一个具有以下属性的对象:
onBundleProgress
Webpack 在打包进度进行时的回调。将一个介于 0 和 100 之间的数字传递给回调函数,参见页面顶部的示例。
onUploadProgress
在资产上传进度发生变化时调用的回调函数。将以下属性的对象传递给回调函数:
totalFiles
(number):捆绑包中的文件总数。filesUploaded
(number):到目前为止已完全上传的文件数量。totalSize
(number):捆绑包中所有文件的总字节数。sizeUploaded
(number):到目前为止已上传的字节数。
webpackOverride
允许传递自定义的 webpack 覆盖。有关更多信息,请参阅bundle()
-> webpackOverride。
enableCaching
指定是否应启用 webpack 缓存。有关更多信息,请参阅bundle()
-> enableCaching。
publicDir
设置可以使用staticFile()
加载的文件所在的目录。默认情况下,它是位于Remotion Root文件夹中的 public/
文件夹。如果传递相对路径,它将相对于Remotion Root解析。
rootDir
Remotion 项目的根目录。应设置为包含安装 Remotion 的 package.json
的目录。默认情况下,它是当前工作目录。
当前工作目录是程序执行的目录。它与调用 bundle() 的文件不同。
ignoreRegisterRootWarning
忽略传递不包含 registerRoot
的入口文件时抛出的错误。
返回值
具有以下值的对象:
serveUrl
string_
一个 URL,例如 https://storage.googleapis.com/remotioncloudrun-123asd321/sites/abcdefgh/index.html
。
您可以使用此“Serve URL”在 Remotion Cloud Run 上渲染视频:
- 使用
npx remotion cloudrun render
命令 - 使用
renderMediaOnCloudrun()
和renderStillOnCloudrun()
函数。 - 在本地使用
renderMedia()
和renderStill()
函数。 - 在本地使用
npx remotion render
和npx remotion still
命令
如果您在 Cloud Run 上渲染,还可以将站点名称(在本例中为 abcdefgh
)作为缩写传递。
siteName
string
给定的站点标识符。如果您没有传递站点名称,则是您传递给此函数的站点名称,否则 是生成的随机字符串。
stats
具有 3 个条目的对象:
uploadedFiles
deletedFiles
untouchedFiles
每个都是一个 number
。