我正在玩弄GCP云shell编辑器,我首先访问https://shell.cloud.google.com/?show=ide(我安装为PWA),并想调试一个简单的Flask AppEngine应用程序。该应用程序使用云日志记录。当我第一次执行
时,它在终端窗口中运行良好:gcloud config set project myproject
然而,如果我想使用内置调试,我会得到错误,因为gcloud config set project myproject
没有在那个新窗口中设置。所以我的问题是我如何确保gcloud config set project myproject
在每个控制台启动时运行?我已经尝试运行preLaunchTask
,但由于这是在一个单独的控制台中运行,它没有帮助
更新(2021年1月26日)还玩弄了试图改变.bashrc
自动打开一个项目时,使用的任务是由folderOpen
触发,然后写入相关的gcloud命令的脚本由.bashrc
调用,如下所示
{
"version": "2.0.0",
"tasks": [
{
"label": "Set GCP Project",
"type": "shell",
"command": "echo "set -x; gcloud config set project [MYPROJECT]" > $HOME/set_gcp_project",
"runOptions": {
"runOn": "folderOpen"
},
"presentation": {
"reveal": "never",
"panel": "shared"
},
"problemMatcher": []
}
]
}
然而,Cloud Shell不支持这些自动任务。它在VSCode中工作得很好。然而,这仍然是一个麻烦,因为如果我在GCP控制台中打开一个终端或者当你点击在cloud shell中运行时打开它它会将项目设置为我在cloud shell编辑器中最后打开的项目
如果您对自定义Cloud Shell体验感兴趣,您可以随时参考文档的以下部分。
我猜必须直接保证gcloud config set project myproject
总是运行时,一个新的窗口打开将追加gcloud命令在.bashrc
文件位于$HOME目录的末尾。
打开Cloud Shell(确保您位于$HOME目录,这是您打开Cloud Shell时打开的默认目录),并通过运行以下命令附加gcloud命令:
[YOUR-USERNAME]@cloudshell:~ (myproject)$ echo "gcloud config set project myproject" >> .bashrc