在 Cloud Shell 中打开

借助“在 Cloud Shell 中打开”功能,您可以发布一个链接,该链接打开 Cloud Console,并自动将 Git 代码库克隆到 Cloud Shell 中,或使用自定义映像启动 Cloud Shell。它还允许将说明打印到终端,帮助用户与内容进行交互。

“在 Cloud Shell 中打开”功能可帮助开发人员实验代码示例和 API,而无需担心下载 Cloud SDK、安装所需依赖项或搜索相关源文件这些事宜。 本页说明如何将此功能添加到您的 Git 代码库。

网址参数

“在 Cloud Shell 中打开”链接(可以视情况嵌入到按钮图片中)可添加到 Git 代码库中任意目录的 README.md 中。建议将此链接添加到 Git 代码库的根 README.md。

要向“在 Cloud Shell 中打开”这一交互中添加功能,您必须使用基本网址ssh.cloud.google.com(或 Cloud Console 中以 console.cloud.google.com 开头的任何页面),其中至少包含以下两个网址参数之一:

网址参数 说明 支持的值
cloudshell_git_repo

要克隆的 Git 代码库的网址。

系统将克隆指定的代码库,打开项目文件夹的根目录,并在左侧导航窗格中显示其内容。

Git 代码库的有效网址。

它由列入白名单的网域(GitHub 或 Bitbucket)及由有效字符 [a-zA-Z0-9_-./] 组成的路径构成。

cloudshell_image

可在会话期间运行自定义环境的自定义 Docker 映像。这样,您就可以在 Cloud Shell 中提供自定义工具,供用户用来与您的代码库搭配使用。

使用指定的参数在 Cloud Shell 中打开代码库会创建一个临时环境,并在会话结束时删除暂存主目录。

Google Container Registry 中托管的 Docker 映像的网址。 Docker 映像必须基于 Cloud Shell 基础映像,并且可以公开访问。

如需创建有效的映像,请在 Cloud Shell 中运行以下命令来使用自定义映像创建教程:

cloudshell launch-tutorial /google/devshell/tutorials/custom-image-tutorial.md

另请注意,打开网址时,大映像需要一段时间才能下载到 Cloud Shell 虚拟机中。

此外,您可以指定以下任一可选参数:

网址参数 说明 支持的值

cloudshell_git_branch

要从 Git 代码库中克隆的特定分支。仅在指定“cloudshell_git_repo”时适用。默认分支是 master。 代码库中的任何有效分支。字符必须已列入以下白名单:[a-zA-Z0-9~_-./:]

cloudshell_workspace

Cloud Shell 的工作目录。将用户定向到终端中的指定目录,并在 Cloud Shell Editor 中以工作区的形式打开该目录。 相对于克隆代码库的任何有效文件路径。您可以将参数值留空,或使用“.”指定克隆代码库的根目录。如果未指定代码库,则路径是 Cloud Shell 主目录的相对路径。字符必须已列入以下白名单:[a-zA-Z0-9_-./:]

cloudshell_open_in_editor

要在 Cloud Shell Editor 中打开的文件。可以重复使用此参数以指定多个要打开的文件。如果指定了多个文件,它们将按照提供的顺序打开。

指定的文件将在已打开项目右侧的编辑器标签中打开,每个文件一个标签。

文件路径相对于当前目录。如果提供了 working_dir 参数,则这些文件的路径将被视为相对于 working_dir。

任何有效的文件路径。字符必须已列于以下白名单中:[a-zA-Z0-9~_-./:]

cloudshell_print

Git 代码库中的文件,通常包括要打印到终端的说明,用于指导用户接下来的操作。文件路径相对于当前目录。

如果提供了 working_dir 参数,则这些文件的路径将被视为相对于 working_dir。

任何有效的文件路径。字符必须已列于以下白名单中:[a-zA-Z0-9~_-./:]

cloudshell_tutorial

Git 代码库中的教程 Markdown 文件,包括要作为教程启动的说明,用于指导用户完成项目。文件路径相对于当前目录。

具有有效的文件名且格式标准的任何教程 Markdown 文件。

shellonly

仅使用命令行(而不是编辑器)打开。

`true`, `false`

cloudshell_working_dir(已弃用)

要在 Cloud Shell Editor 中以工作区形式打开的目录 任何有效的文件路径。字符必须已列于以下白名单中:[a-zA-Z0-9~_-./:]

示例

要提供一个链接在 Cloud Shell 中打开示例 Git 代码库,您需要使用 Markdown(如下面的代码段)将此链接嵌入到代码库的 README.md 中:

[![Open in Cloud Shell](https://gstatic.com/cloudssh/images/open-btn.svg)](https://ssh.cloud.google.com/cloudshell/editor?cloudshell_git_repo=http://path-to-repo/sample.git)

如果您希望将此功能嵌入到网站中,则与以上代码段等效的 HTML 代码如下所示:

<a href="https://ssh.cloud.google.com/cloudshell/editor?cloudshell_git_repo=http://path-to-repo/sample.git"><img alt="Open in Cloud Shell" src ="https://gstatic.com/cloudssh/images/open-btn.svg"></a>

如果您想要更具体地定义“在 Cloud Shell 中打开”链接的预期行为,则可以使用下面的表单对参数进行实验,以确定在 Cloud Shell 中打开代码库所需的预期网址。