本页介绍了配置 Cloud Shell 自定义您的体验的各种方法。
Cloud Shell 主目录中的配置文件
Cloud Shell 免费提供 5 GB 的永久性磁盘存储空间,装载为您的 $HOME 目录。您存储在主目录中的所有文件(包括安装的软件、脚本以及 .bashrc 和 .vimrc 等用户配置文件)在不同会话之间保持不变。由于 .bashrc 在各个会话中均持久保存,因此这是自定义 Cloud Shell 行为的好方法。同样,如需使安装保持不变,您可��将软件包安装到主目录中。
预先配置的环境变量
启动 Cloud Shell 后,Cloud Shell 中正在进行的项目将传播到 Cloud Shell 内的 gcloud 配置,以便立即使用。应用默认凭据库用于支持定义项目 ID 的环境变量 GOOGLE_CLOUD_PROJECT,也被设置为指向 Cloud Shell 中的活动项目。
将 CLOUD_SHELL 环境变量设置为 true。您可以从应用中检查此变量,以确定应用是否正在 Cloud Shell 中运行。
gcloud CLI 偏好设置
使用 Cloud Shell 时,您的 gcloud CLI 偏好设置会存储在临时 tmp 文件夹中,且仅适用于当前标签页,并且在各会话之间不会保留。
如需保留 gcloud CLI 配置,您可以使用以下方法之一进行设置:
如需确保可自定义每个标签页的 gcloud CLI 配置,但同时可自定义默认配置本身,您可以将
gcloud配置命令(例如gcloud config set compute/region us-central1以设置默认区域)添加到$HOME/.bashrc文件的末尾。这样可确保每个新标签页都继承您的 Google Cloud 控制台项目和自定义的默认配置,但同时您也可以进一步自定义各个标签页的配置。
如需始终使用相同的 gcloud CLI 配置,请将
export CLOUDSDK_CONFIG=$HOME/.config/gcloud添加到 .bashrc 文件的末尾,然后运行gcloud config configurations create CONFIG_NAME创建要使用的配置。
通用属性
要设置您想要处理的项目,请运行以下命令:
gcloud config set project [PROJECT_NAME]
命令提示符会更新以反映您当前活动的项目,采用以下格式:[USERNAME]@cloudshell:~ ([PROJECT_NAME])$
要选择您偏好的区域,请运行:
gcloud config set compute/region us-east1
上面的命令是您可以设置的 gcloud CLI 配置示例;如需查看有关设置属性的完整列表和更多详情,请参阅 gcloud CLI 属性指南。
环境自定义
借助环境自定义,您可以在启动时将其他软件包安装到 Cloud Shell 环境中。
环境自定义脚本
当启动您的实例时,Cloud Shell 会自动运行脚本 $HOME/.customize_environment。与 .profile 或 .bashrc 不同,启动 Cloud Shell 时,此脚本便会运行一次(而不是每次登录 shell 时运行一次)。
该脚本以根用户身份运行,您可以使用 Debian 软件包管理命令安装您希望在每个 Cloud Shell 会话中存在的任何软件包。
例如,如果您想在 Cloud Shell 上安装 erlang,则 .customize_environment 文件将如下所示:
#!/bin/sh
apt-get update
apt-get -y install erlang
/var/log/customize_environment 中显示有 .customize_environment 脚本的执行日志。.customize_environment 脚本作为后台进程运行,且在成功执行后,将联系 /google/devshell/customize_environment_done。由于软件包安装是与登录同时进行的,因此在出现登录提示后不久,您就可以使用已安装的软件包。
使用指定的用户账号打开 Cloud Shell
您可以使用 authuser 参数指定要与 Cloud Shell 搭配使用的用户账号。您必须使用指定的用户账号登录。
如果您未登录指定账号,Cloud Shell 会使用默认的已登录账号打开。例如,您可以使用网址 shell.cloud.google.com?authuser=client1@example.com 打开以 client1@example.com 身份登录的 Cloud Shell。
容器映像自定义
借助容器映像自定义功能,您可以使用指定的其他软件包和自定义配置创建用作自定义 Cloud Shell 环境的 Docker 映像。您的 Docker 映像必须基于 Cloud Shell 基础映像,并托管在 Artifact Registry 中。
与环境自定义不同,容器映像自定义不会影响您的默认 Cloud Shell 体验。您可以通过在 Cloud Shell 中打开链接���用和共享您的自定义映像。
tmux 支持
Cloud Shell 使用 tmux,这可以提高跨浏览器标签页的会话的持久性。例如,如果您在标签页中刷新Google Cloud 控制台或从其他计算机连接到您的 Cloud Shell,会话状态不会丢失。
Cloud Shell 支持默认的 tmux 组合键。例如,如果先按 Ctrl + b 然后按 %,则 tmux 会将当前会话窗口分成左窗格和右窗格,这对调试非常有用。
使用情况统计信息
Cloud Shell 会针对在 Cloud Shell 终端内部运行的命令,收集经过匿名处理的使用情况统计信息。系统仅收集 Cloud Shell 中预安装的命令的统计信息。这些指标将无法回溯到您的账号。
不会收集与任何个人身份信息有关的指标,例如传递给这些命令的参数
要随时更改指标收集偏好设置,请在设置菜单
中选择终端使用情况统计信息。您对“设置”菜单上的偏好设置所做的任何更改都会在下一个会话中生效。要启用或停用指标收集,请在进行更改后关闭标签页并打开另一个标签页。
注意:该设置与 gcloud 使用情况统计信息是分开的,后者在 Cloud Shell 中默认启用。
如需停用 gcloud CLI 指标收集,请在 Cloud Shell 会话中运行以下命令:
gcloud config set disable_usage_reporting true