借助 Cloud Shell,您可以自定义开发环境,以满足您的偏好。您可以设置永久性环境变量、定义 gcloud CLI 偏好设置、运行自定义脚本以在会话中初始化工具,以及调整使用情况统计信息收集。
Cloud Shell 主目录中的配置文件
Cloud Shell 免费提供 5 GB 的永久性磁盘存储空间,装载为您的 $HOME 目录。您存储在主目录中的所有文件(包括安装的软件、脚本以及 .bashrc 和 .vimrc 等用户配置文件)在不同会话之间保持不变。由于 .bashrc 在各个会话中均持久保存,因此这是自定义 Cloud Shell 行为的好方法。同样,如需使安装保持不变,您可以将软件包安装到主目录中。
预先配置的环境变量
启动 Cloud Shell 后,Cloud Shell 中正在进行的项目将传播到 Cloud Shell 内的 gcloud 配置,以便立即使用。GOOGLE_CLOUD_PROJECT 是应用默认凭据库支持用于定义项目 ID 的环境变量,它也设置为指向 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 打开 Cloud Shell 并以 client1@example.com 身份登录。
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