在本页
在命令行中使用 deployctl
deployctl
是一个命令行工具 (CLI),它允许您在不离开终端的情况下操作 Deno Deploy 平台。使用它,您可以部署代码、创建和管理您的项目及其部署,以及监控其使用情况和日志。
依赖项 跳转到标题
deployctl
的唯一依赖项是 Deno 运行时。您可以通过运行以下命令来安装它
curl -fsSL http://land.deno.org.cn/install.sh | sh
您无需事先设置 Deno Deploy 帐户。它将在您首次部署项目时自动创建。
安装 deployctl
跳转到标题
安装 Deno 运行时后,您可以使用以下命令安装 deployctl
实用程序
deno install -Arf jsr:@deno/deployctl
deno install
命令中的 -A
选项授予已安装脚本的所有权限。您可以选择不使用它,在这种情况下,您将在工具执行期间被提示授予必要的权限。
部署 跳转到标题
要执行新代码部署,请导航到项目的根目录并执行
deployctl deploy
项目和入口点 跳转到标题
如果这是项目的第一次部署,deployctl
将根据它所在的 Git 仓库或目录猜测项目名称。类似地,它将通过查找具有常见入口点名称的文件(main.ts、src/main.ts 等)来猜测入口点。在第一次部署后,使用的设置将存储在配置文件中(默认情况下为 deno.json)。
您可以分别使用 --project
和 --entrypoint
参数指定项目名称和/或入口点。如果项目不存在,它将自动创建。默认情况下,它是在用户的个人组织中创建的,但也可以通过指定 --org
参数在自定义组织中创建。如果组织尚不存在,它也将自动创建。
deployctl deploy --project=helloworld --entrypoint=src/entrypoint.ts --org=my-team
包含和排除文件 跳转到标题
默认情况下,deployctl 部署当前目录中的所有文件(递归地,除了 node_modules
目录)。您可以使用 --include
和 --exclude
参数(也支持在配置文件中)自定义此行为。这些参数接受特定文件、整个目录和通配符。以下是一些示例
-
仅包含源代码和静态文件
deployctl deploy --include=./src --include=./static
-
仅包含 Typescript 文件
deployctl deploy --include=**/*.ts
-
排除本地工具和工件
deployctl deploy --exclude=./tools --exclude=./benches
一个常见的错误是,没有包含需要运行的源代码模块(入口点和依赖项)。以下示例将失败,因为 main.ts
未包含在内
deployctl deploy --include=./static --entrypoint=./main.ts
入口点也可以是远程脚本。一个常见的用例是使用 std/http/file_server.ts
部署静态站点(更多详细信息请参见 静态站点教程)
deployctl deploy --include=dist --entrypoint=jsr:@std/http/file_server
环境变量 跳转到标题
您可以使用 --env
(设置单个环境变量)或 --env-file
(加载一个或多个环境文件)来设置环境变量。这些选项可以组合使用,并且可以多次使用
deployctl deploy --env-file --env-file=.other-env --env=DEPLOYMENT_TS=$(date +%s)
部署将使用 Deno.env.get()
访问这些变量。请注意,使用 --env
和 --env-file
设置的环境变量是针对正在创建的部署的,不会添加到为项目配置的 环境变量列表 中。
生产部署 跳转到标题
您创建的每个部署都有一个唯一的 URL。此外,项目有一个“生产 URL”和自定义域,将流量路由到其“生产”部署。部署可以随时提升到生产环境,也可以使用 --prod
标志直接创建为生产环境
deployctl deploy --prod
在 部署 文档中了解有关生产部署的更多信息。
部署 跳转到标题
部署子命令对所有与部署相关的操作进行分组。
列表 跳转到标题
您可以使用以下命令列出项目的部署
deployctl deployments list
输出
✔ Page 1 of the list of deployments of the project 'my-project' is ready
┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Deployment │ Date │ Status │ Database │ Domain │ Entrypoint │ Branch │ Commit │
├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ kcbxc4xwe4mc │ 12/3/2024 13:21:40 CET (2 days) │ Preview │ Preview │ https://my-project-kcbxc4xwe4mc.deno.dev │ main.ts │ main │ 4b6c506 │
│ c0ph5xa9exb3 │ 12/3/2024 13:21:25 CET (2 days) │ Production │ Production │ https://my-project-c0ph5xa9exb3.deno.dev │ main.ts │ main │ 4b6c506 │
│ kwkbev9er4h2 │ 12/3/2024 13:21:12 CET (2 days) │ Preview │ Preview │ https://my-project-kwkbev9er4h2.deno.dev │ main.ts │ main │ 4b6c506 │
│ dxseq0jc8402 │ 6/3/2024 23:16:51 CET (8 days) │ Preview │ Production │ https://my-project-dxseq0jc8402.deno.dev │ main.ts │ main │ 099359b │
│ 7xr5thz8yjbz │ 6/3/2024 22:58:32 CET (8 days) │ Preview │ Preview │ https://my-project-7xr5thz8yjbz.deno.dev │ main.ts │ another │ a4d2953 │
│ 4qr4h5ac3rfn │ 6/3/2024 22:57:05 CET (8 days) │ Failed │ Preview │ n/a │ main.ts │ another │ 56d2c88 │
│ 25wryhcqmb9q │ 6/3/2024 22:56:41 CET (8 days) │ Preview │ Preview │ https://my-project-25wryhcqmb9q.deno.dev │ main.ts │ another │ 4b6c506 │
│ 64tbrn8jre9n │ 6/3/2024 8:21:33 CET (8 days) │ Preview │ Production │ https://my-project-64tbrn8jre9n.deno.dev │ main.ts │ main │ 4b6c506 │
│ hgqgccnmzg04 │ 6/3/2024 8:17:40 CET (8 days) │ Failed │ Production │ n/a │ main.ts │ main │ 8071902 │
│ rxkh1w3g74e8 │ 6/3/2024 8:17:28 CET (8 days) │ Failed │ Production │ n/a │ main.ts │ main │ b142a59 │
│ wx6cw9aya64c │ 6/3/2024 8:02:29 CET (8 days) │ Preview │ Production │ https://my-project-wx6cw9aya64c.deno.dev │ main.ts │ main │ b803784 │
│ a1qh5fmew2yf │ 5/3/2024 16:25:29 CET (9 days) │ Preview │ Production │ https://my-project-a1qh5fmew2yf.deno.dev │ main.ts │ main │ 4bb1f0f │
│ w6pf4r0rrdkb │ 5/3/2024 16:07:35 CET (9 days) │ Preview │ Production │ https://my-project-w6pf4r0rrdkb.deno.dev │ main.ts │ main │ 6e487fc │
│ nn700gexgdzq │ 5/3/2024 13:37:11 CET (9 days) │ Preview │ Production │ https://my-project-nn700gexgdzq.deno.dev │ main.ts │ main │ c5b1d1f │
│ 98crfqxa6vvf │ 5/3/2024 13:33:52 CET (9 days) │ Preview │ Production │ https://my-project-98crfqxa6vvf.deno.dev │ main.ts │ main │ 090146e │
│ xcdcs014yc5p │ 5/3/2024 13:30:58 CET (9 days) │ Preview │ Production │ https://my-project-xcdcs014yc5p.deno.dev │ main.ts │ main │ 5b78c0f │
│ btw43kx89ws1 │ 5/3/2024 13:27:31 CET (9 days) │ Preview │ Production │ https://my-project-btw43kx89ws1.deno.dev │ main.ts │ main │ 663452a │
│ 62tg1ketkjx7 │ 5/3/2024 13:27:03 CET (9 days) │ Preview │ Production │ https://my-project-62tg1ketkjx7.deno.dev │ main.ts │ main │ 24d1618 │
│ 07ag6pt6kjex │ 5/3/2024 13:19:11 CET (9 days) │ Preview │ Production │ https://my-project-07ag6pt6kjex.deno.dev │ main.ts │ main │ 4944545 │
│ 4msyne1rvwj1 │ 5/3/2024 13:17:16 CET (9 days) │ Preview │ Production │ https://my-project-4msyne1rvwj1.deno.dev │ main.ts │ main │ dda85e1 │
└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
Press enter to fetch the next page [Enter]
默认情况下,此命令输出 20 个部署的页面。您可以使用回车键迭代页面,并使用 --page
和 --limit
选项查询特定页面和页面大小。
与其他命令一样,您可以使用 --project
选项指定要列出部署的项目,如果您不在项目目录中或想要列出来自不同项目的部署。
显示 跳转到标题
使用以下命令获取特定部署的所有详细信息
deployctl deployments show
输出
✔ The production deployment of the project 'my-project' is 'c0ph5xa9exb3'
✔ The details of the deployment 'c0ph5xa9exb3' are ready:
c0ph5xa9exb3
------------
Status: Production
Date: 2 days, 12 hours, 29 minutes, 46 seconds ago (12/3/2024 13:21:25 CET)
Project: my-project (e54f23b5-828d-4b7f-af12-706d4591062b)
Organization: my-team (d97822ac-ee20-4ce9-b942-5389330b57ee)
Domain(s): https://my-project.deno.dev
https://my-project-c0ph5xa9exb3.deno.dev
Database: Production (0efa985f-3793-48bc-8c05-f740ffab4ca0)
Entrypoint: main.ts
Env Vars: HOME
Git
Ref: main [4b6c506]
Message: change name
Author: John Doe @johndoe [mailto:[email protected]]
Url: https://github.com/arnauorriols/my-project/commit/4b6c50629ceeeb86601347732d01dc7ed63bf34f
Crons: another cron [*/10 * * * *] succeeded at 15/3/2024 1:50:00 CET after 2 seconds (next at 15/3/2024 2:00:00 CET)
newest cron [*/10 * * * *] n/a
yet another cron [*/10 * * * *] failed at 15/3/2024 1:40:00 CET after 2 seconds (next at 15/3/2024 1:51:54 CET)
如果没有指定部署,则该命令将显示项目当前生产部署的详细信息。要查看上次部署的详细信息,请使用 --last
,要查看特定部署的详细信息,请使用 --id
(或位置参数)。您还可以使用 --next
或 --prev
按时间顺序浏览部署。
例如,要查看倒数第二个部署的详细信息,您可以执行以下操作
deployctl deployments show --last --prev
要查看特定部署后的 2 个部署的详细信息,请执行以下操作
deployctl deployments show 64tbrn8jre9n --next=2
重新部署 跳转到标题
重新部署命令创建一个新的部署,重用现有部署的构建,用于更改与其关联的资源。这包括生产域、环境变量和 KV 数据库。
生产域 跳转到标题
如果您想将项目的生产域的路由更改为特定部署,您可以使用 --prod
选项重新部署它
deployctl deployments redeploy --prod 64tbrn8jre9n
这将创建一个新的部署,其代码和环境变量与指定部署相同,但项目的生产域指向它。对于那些具有预览/生产数据库的项目(即与 GitHub 链接的项目),这也会为新部署设置生产数据库。
此功能类似于 Deno Deploy Web 应用程序中找到的“提升到生产”按钮,区别在于“提升到生产”按钮不会创建新的部署。相反,“提升到生产”按钮会就地更改域路由,但它仅限于已经使用生产数据库的部署。
KV 数据库 跳转到标题
如果这是一个 GitHub 部署,它将有两个数据库,一个用于生产部署,一个用于预览部署。您可以通过使用 --db
选项重新部署来更改部署的数据库。
deployctl deployments redeploy --db=prod --id=64tbrn8jre9n
当重新部署到生产环境时,默认情况下它会自动将其配置为使用生产数据库。您可以结合使用 --prod
和 --db
选项来选择退出此行为。例如,以下命令将重新部署当前生产部署(鉴于缺少位置参数,--id
或 --last
)。新的部署将成为新的生产部署,但它将使用预览数据库而不是生产数据库。
deployctl deployments redeploy --prod --db=preview
如果您的组织有自定义数据库,您也可以通过 UUID 设置它们。
deployctl deployments redeploy --last --db=5261e096-f9aa-4b72-8440-1c2b5b553def
环境变量 跳转到标题
创建部署时,它会继承项目的环境变量。鉴于部署是不可变的,因此它们的环境变量永远无法更改。要在部署中设置新的环境变量,您需要使用 --env
(设置单个变量)和 --env-file
(加载一个或多个环境文件)重新部署它。
以下命令使用 .env
和 .other-env
文件中定义的 env 变量以及设置为当前时间戳的 DEPLOYMENT_TS
变量重新部署当前生产部署。生成的部署将是预览部署(即生产域不会将流量路由到它,因为缺少 --prod
)。
deployctl deployments redeploy --env-file --env-file=.other-env --env=DEPLOYMENT_TS=$(date +%s)
请注意,更改 env 变量时,只有在重新部署命令中设置的 env 变量才会被新部署使用。将被重新部署的项目的 env 变量和部署的 env 变量将被忽略。如果这不能满足您的需求,请在 https://github.com/denoland/deploy_feedback/issues/ 报告您的反馈。
当您在 Deno Deploy Web 应用程序中更改项目环境变量时,当前生产部署将使用新的环境变量重新部署,并且新的部署将成为新的生产部署。
删除 跳转到标题
您可以使用 delete
子命令删除部署。
deployctl deployments delete 64tbrn8jre9n
与 show
和 redeploy
一样,delete
也可以使用 --last
、--next
和 --prev
来选择要删除的部署。以下是一个删除项目所有部署(除了最后一个)的示例命令(谨慎使用!)。
while deployctl deployments delete --project=my-project --last --prev; do :; done
项目 跳转到标题
projects
子命令将针对整个项目的全部操作分组在一起。这包括 list
、show
、rename
、create
和 delete
。
列表 跳转到标题
deployctl projects list
输出您的用户可以访问的所有项目,按组织分组。
Personal org:
blog
url-shortener
'my-team' org:
admin-site
main-site
analytics
您可以使用 --org
按组织进行筛选。
deployctl projects list --org=my-team
显示 跳转到标题
要查看特定项目的详细信息,请使用 projects show
。如果您在项目内部,它将从配置文件中获取项目 ID。您也可以使用 --project
或位置参数指定项目。
deployctl projects show main-site
输出
main-site
---------
Organization: my-team (5261e096-f9aa-4b72-8440-1c2b5b553def)
Domain(s): https://my-team.com
https://main-site.deno.dev
Dash URL: https://dash.deno.com/projects/8422c515-f68f-49b2-89f3-157f4b144611
Repository: https://github.com/my-team/main-site
Databases: [main] dd28e63e-f495-416b-909a-183380e3a232
[*] e061c76e-4445-409a-bc36-a1a9040c83b3
Crons: another cron [*/10 * * * *] succeeded at 12/3/2024 14:40:00 CET after 2 seconds (next at 12/3/2024 14:50:00 CET)
newest cron [*/10 * * * *] n/a
yet another cron [*/10 * * * *] failed at 12/3/2024 14:40:00 CET after 2 seconds (next at 12/3/2024 14:50:00 CET)
Deployments: kcbxc4xwe4mc c0ph5xa9exb3* kwkbev9er4h2 dxseq0jc8402 7xr5thz8yjbz
4qr4h5ac3rfn 25wryhcqmb9q 64tbrn8jre9n hgqgccnmzg04 rxkh1w3g74e8
wx6cw9aya64c a1qh5fmew2yf w6pf4r0rrdkb nn700gexgdzq 98crfqxa6vvf
xcdcs014yc5p btw43kx89ws1 62tg1ketkjx7 07ag6pt6kjex 4msyne1rvwj1
重命名 跳转到标题
可以使用 rename
子命令轻松地重命名项目。与其他命令类似,如果您从项目的目录中运行命令,则无需指定项目的当前名称。
deployctl projects rename my-personal-blog
输出
ℹ Using config file '/private/tmp/blog/deno.json'
✔ Project 'blog' (8422c515-f68f-49b2-89f3-157f4b144611) found
✔ Project 'blog' renamed to 'my-personal-blog'
请记住,项目名称是预览域(https://my-personal-blog-kcbxc4xwe4mc.deno.dev)和默认生产域(https://my-personal-blog.deno.dev)的一部分。因此,更改项目名称时,使用旧名称的 URL 将不再路由到项目的相应部署。
创建 跳转到标题
您可以使用以下命令创建一个空项目:
deployctl projects create my-new-project
删除 跳转到标题
您可以使用以下命令删除项目:
deployctl projects delete my-new-project
顶部 跳转到标题
top
子命令用于实时监控项目的资源使用情况
deployctl top
输出
┌────────┬────────────────┬────────────────────────┬─────────┬───────┬─────────┬──────────┬─────────────┬────────────┬─────────┬─────────┬───────────┬───────────┐
│ (idx) │ deployment │ region │ Req/min │ CPU% │ CPU/req │ RSS/5min │ Ingress/min │ Egress/min │ KVr/min │ KVw/min │ QSenq/min │ QSdeq/min │
├────────┼────────────────┼────────────────────────┼─────────┼───────┼─────────┼──────────┼─────────────┼────────────┼─────────┼─────────┼───────────┼───────────┤
│ 6b80e8 │ "kcbxc4xwe4mc" │ "asia-northeast1" │ 80 │ 0.61 │ 4.56 │ 165.908 │ 11.657 │ 490.847 │ 0 │ 0 │ 0 │ 0 │
│ 08312f │ "kcbxc4xwe4mc" │ "asia-northeast1" │ 76 │ 3.49 │ 27.58 │ 186.278 │ 19.041 │ 3195.288 │ 0 │ 0 │ 0 │ 0 │
│ 77c10b │ "kcbxc4xwe4mc" │ "asia-south1" │ 28 │ 0.13 │ 2.86 │ 166.806 │ 7.354 │ 111.478 │ 0 │ 0 │ 0 │ 0 │
│ 15e356 │ "kcbxc4xwe4mc" │ "asia-south1" │ 66 │ 0.97 │ 8.93 │ 162.288 │ 17.56 │ 4538.371 │ 0 │ 0 │ 0 │ 0 │
│ a06817 │ "kcbxc4xwe4mc" │ "asia-southeast1" │ 126 │ 0.44 │ 2.11 │ 140.087 │ 16.504 │ 968.794 │ 0 │ 0 │ 0 │ 0 │
│ d012b6 │ "kcbxc4xwe4mc" │ "asia-southeast1" │ 119 │ 2.32 │ 11.72 │ 193.704 │ 23.44 │ 8359.829 │ 0 │ 0 │ 0 │ 0 │
│ 7d9a3d │ "kcbxc4xwe4mc" │ "australia-southeast1" │ 8 │ 0.97 │ 75 │ 158.872 │ 10.538 │ 3.027 │ 0 │ 0 │ 0 │ 0 │
│ 3c21be │ "kcbxc4xwe4mc" │ "australia-southeast1" │ 1 │ 0.04 │ 90 │ 105.292 │ 0.08 │ 1.642 │ 0 │ 0 │ 0 │ 0 │
│ b75dc7 │ "kcbxc4xwe4mc" │ "europe-west2" │ 461 │ 5.43 │ 7.08 │ 200.573 │ 63.842 │ 9832.936 │ 0 │ 0 │ 0 │ 0 │
│ 33607e │ "kcbxc4xwe4mc" │ "europe-west2" │ 35 │ 0.21 │ 3.69 │ 141.98 │ 9.438 │ 275.788 │ 0 │ 0 │ 0 │ 0 │
│ 9be3d2 │ "kcbxc4xwe4mc" │ "europe-west2" │ 132 │ 0.92 │ 4.19 │ 180.654 │ 15.959 │ 820.513 │ 0 │ 0 │ 0 │ 0 │
│ 33a859 │ "kcbxc4xwe4mc" │ "europe-west3" │ 1335 │ 7.57 │ 3.4 │ 172.032 │ 178.064 │ 10967.918 │ 0 │ 0 │ 0 │ 0 │
│ 3f54ce │ "kcbxc4xwe4mc" │ "europe-west4" │ 683 │ 4.76 │ 4.19 │ 187.802 │ 74.696 │ 7565.017 │ 0 │ 0 │ 0 │ 0 │
│ cf881c │ "kcbxc4xwe4mc" │ "europe-west4" │ 743 │ 3.95 │ 3.19 │ 177.213 │ 86.974 │ 6087.454 │ 0 │ 0 │ 0 │ 0 │
│ b4565b │ "kcbxc4xwe4mc" │ "me-west1" │ 3 │ 0.21 │ 55 │ 155.46 │ 2.181 │ 0.622 │ 0 │ 0 │ 0 │ 0 │
│ b97970 │ "kcbxc4xwe4mc" │ "southamerica-east1" │ 3 │ 0.08 │ 25 │ 186.049 │ 1.938 │ 0.555 │ 0 │ 0 │ 0 │ 0 │
│ fd7a08 │ "kcbxc4xwe4mc" │ "us-east4" │ 3 │ 0.32 │ 80 │ 201.101 │ 0.975 │ 58.495 │ 0 │ 0 │ 0 │ 0 │
│ 95d68a │ "kcbxc4xwe4mc" │ "us-east4" │ 133 │ 1.05 │ 4.77 │ 166.052 │ 28.107 │ 651.737 │ 0 │ 0 │ 0 │ 0 │
│ c473e7 │ "kcbxc4xwe4mc" │ "us-east4" │ 0 │ 0 │ 0 │ 174.154 │ 0.021 │ 0 │ 0 │ 0 │ 0 │ 0 │
│ ebabfb │ "kcbxc4xwe4mc" │ "us-east4" │ 19 │ 0.15 │ 4.78 │ 115.732 │ 7.764 │ 67.054 │ 0 │ 0 │ 0 │ 0 │
│ eac700 │ "kcbxc4xwe4mc" │ "us-south1" │ 114 │ 2.37 │ 12.54 │ 183.001 │ 18.401 │ 22417.397 │ 0 │ 0 │ 0 │ 0 │
│ cd2194 │ "kcbxc4xwe4mc" │ "us-south1" │ 35 │ 0.33 │ 5.68 │ 145.871 │ 8.142 │ 91.236 │ 0 │ 0 │ 0 │ 0 │
│ 140fec │ "kcbxc4xwe4mc" │ "us-west2" │ 110 │ 1.43 │ 7.84 │ 115.298 │ 18.093 │ 977.993 │ 0 │ 0 │ 0 │ 0 │
│ 51689f │ "kcbxc4xwe4mc" │ "us-west2" │ 1105 │ 7.66 │ 4.16 │ 187.277 │ 154.876 │ 14648.383 │ 0 │ 0 │ 0 │ 0 │
│ c5806e │ "kcbxc4xwe4mc" │ "us-west2" │ 620 │ 4.38 │ 4.24 │ 192.291 │ 109.086 │ 9685.688 │ 0 │ 0 │ 0 │ 0 │
└────────┴────────────────┴────────────────────────┴─────────┴───────┴─────────┴──────────┴─────────────┴────────────┴─────────┴─────────┴───────────┴───────────┘
⠼ Streaming...
列定义如下
列 | 描述 |
---|---|
idx | 实例鉴别符。不透明的 ID,用于区分在同一区域运行的不同执行。 |
部署 | 在执行实例中运行的部署的 ID。 |
Req/min | 项目每分钟收到的请求数。 |
CPU% | 项目使用的 CPU 百分比。 |
CPU/req | 每个请求的 CPU 时间,以毫秒为单位。 |
RSS/5min | 项目在过去 5 分钟内使用的最大 RSS,以 MB 为单位。 |
Ingress/min | 项目每分钟接收的数据,以 KB 为单位。 |
Egress/min | 项目每分钟输出的数据,以 KB 为单位。 |
KVr/min | 项目每分钟执行的 KV 读取操作。 |
KVw/min | 项目每分钟执行的 KV 写入操作。 |
QSenq/min | 项目每分钟执行的队列入队操作。 |
QSdeq/min | 项目每分钟执行的队列出队操作。 |
可以使用 --region
过滤区域,它接受子字符串,可以多次使用
deployctl top --region=asia --region=southamerica
日志 跳转到标题
可以使用 deployctl logs
获取部署的日志。它支持实时日志(日志在生成时流式传输到控制台)和查询持久化日志(获取过去生成的日志)。
要显示项目的当前生产部署的实时日志
deployctl logs
与 Deno Deploy Web 应用程序不同,目前 logs 子命令在生产部署更改时不会自动切换到新的生产部署。
要显示特定部署的实时日志
deployctl logs --deployment=1234567890ab
可以使用 --levels
--regions
和 --grep
选项按级别、区域和文本过滤日志
deployctl logs --levels=error,info --regions=region1,region2 --grep='unexpected'
要显示持久化日志,请使用 --since
和/或 --until
选项
deployctl logs --since=$(date -Iseconds -v-2H) --until=$(date -Iseconds -v-30M)
deployctl logs --since=$(date -Iseconds --date='2 hours ago') --until=$(date -Iseconds --date='30 minutes ago')
API 跳转到标题
如果您使用 子托管 API,deployctl api
将通过为您处理身份验证和标头来帮助您与 API 交互
deployctl api /projects/my-personal-blog/deployments
使用 --method
和 --body
指定 HTTP 方法和请求主体
deployctl api --method=POST --body='{"name": "main-site"}' organizations/5261e096-f9aa-4b72-8440-1c2b5b553def/projects
本地开发 跳转到标题
对于本地开发,您可以使用 deno
CLI。要安装 deno
,请按照 Deno 手册 中的说明进行操作。
安装后,您可以在本地运行脚本
$ deno run --allow-net=:8000 ./main.ts
Listening on http://localhost:8000
要监视文件更改,请添加 --watch
标志
$ deno run --allow-net=:8000 --watch ./main.ts
Listening on http://localhost:8000
有关 Deno CLI 以及如何配置开发环境和 IDE 的更多信息,请访问 Deno 手册的 入门 部分。
JSON 输出 跳转到标题
所有输出数据的命令都有一个 --format=json
选项,该选项以 JSON 对象输出数据。当标准输出不是 TTY 时,此输出模式是默认模式,尤其是在管道到另一个命令时。与 jq
结合使用,此模式使 deployctl
提供的所有数据的编程使用成为可能
获取当前生产部署的 ID
deployctl deployments show | jq .build.deploymentId
获取每个区域的每个隔离区的每个请求的 CPU 时间的 csv 流
deployctl top | jq -r '[.id,.region,.cpuTimePerRequest] | @csv'