【讨论】关于 CNB_VSCODE_REMOTE_SSH_SCHEMA 变量的渲染时机#1256
我在基础镜像中,增加了一些别名,用于方便执行一些操作,别名如下:
echo "alias openw='python3 -m webbrowser \"\$CNB_VSCODE_WEB_URL\"'" >> ~/.aliases.zsh &&\ echo "alias openv='python3 -m webbrowser \"\$CNB_VSCODE_REMOTE_SSH_SCHEMA\"'" >> ~/.aliases.zsh &&\ echo 'open() { python3 -m webbrowser "http://localhost:$1"; }' >> ~/.aliases.zsh &&\ echo 'openr() { python3 -m webbrowser "$(echo "${CNB_VSCODE_PROXY_URI//\{\{port\}\}/$1}")"; }' >> ~/.aliases.zsh &&\ echo "alias opendoc='python3 -m webbrowser https://cnb.cool/znb/qifei/-/issues/3'" >> ~/.aliases.zsh &&\
其中 openw, openv 是希望能够快速在WebIDE和vscode两个平台之间跳转,而不用再去到个人主页的云原生开发列表打开。
openw
openv
现在遇到的问题是:如果启动云原生开发,先打开WebIDE,然后执行openv我发现无法正常运行,排查发现是 CNB_VSCODE_REMOTE_SSH_SCHEMA 变量没有渲染。看起来这个变量值是在打开了vscode的时候渲染的。
讨论下:是否有可能在云原生开发启动的时候,就把这个变量的值填充上。
这个变量是流水线执行时,code-server 命令执行后,注入进去的。你打开 WebIde 时按道理环境变量是已经注入进去的
实测是没有注入进去的哦:
你这个仓库是公开的吗?如果是,发下我看看
是这个: https://cnb.cool/znb/qifei
另外一个神奇的点,我貌似没有主动引用,也没有主动关联,为啥这个issue会关联这个issue
znb/qifei#3
issue 关联这个问题,帮额外提个 issue,我找其他同事看看
我们将所有环境变量注入到了 /etc/profile 文件中,你可以看看这个文件
应该是你这个终端,这个 /etc/profile 没有生效
可以试试 source /etc/profile 后,再使用
如果着急可以这样搞临时解决,如果不着急等我换个方法注入这个环境变量应该能解决这个问题
了解了,暂时不急,是使用场景用到了,暂时没有也问题不大,等随后上了就好。
另外一个神奇的点,我貌似没有主动引用,也没有主动关联,为啥这个issue会关联这个issue znb/qifei#3
该问题已在 #1259 处理
使用其他 shell(如 zsh、fish 等) 导致环境变量丢失的问题,可以参考这里的解决方案
https://cnb.cool/cnb/cool/default-dev-env/-/blob/main/Dockerfile#L30
把 /etc/profile 加入到 xxxrc 里面也是一个合理的做法,并不是 hack。
/etc/profile
xxxrc
这个 issue 暂时关闭了,如果有问题可以随时打开
使用其他 shell(如 zsh、fish 等) 导致环境变量丢失的问题,可以参考这里的解决方案 https://cnb.cool/cnb/cool/default-dev-env/-/blob/main/Dockerfile#L30 把 /etc/profile 加入到 xxxrc 里面也是一个合理的做法,并不是 hack。 这个 issue 暂时关闭了,如果有问题可以随时打开
@maplemiao(苗兆丰) 实测可行。
这个特性将解决什么问题?
我在基础镜像中,增加了一些别名,用于方便执行一些操作,别名如下:
其中
openw,openv是希望能够快速在WebIDE和vscode两个平台之间跳转,而不用再去到个人主页的云原生开发列表打开。现在遇到的问题是:如果启动云原生开发,先打开WebIDE,然后执行openv我发现无法正常运行,排查发现是 CNB_VSCODE_REMOTE_SSH_SCHEMA 变量没有渲染。看起来这个变量值是在打开了vscode的时候渲染的。
讨论下:是否有可能在云原生开发启动的时候,就把这个变量的值填充上。
设想的解决方案?如有