【发布时间】:2020-12-14 09:59:42
【问题描述】:
我在 GCP 的虚拟机中部署了一个多用户 JupyterHub 实例。由于 JupyterHub 是多用户但单实例的,因此我正在尝试找到一种方法来在 VM 中进行源代码的本地开发和远程部署,从而防止多个用户进行远程开发。
这是否可能,或者我应该以其他方式解决这个问题?
【问题讨论】:
标签: git google-cloud-platform jupyterhub
我在 GCP 的虚拟机中部署了一个多用户 JupyterHub 实例。由于 JupyterHub 是多用户但单实例的,因此我正在尝试找到一种方法来在 VM 中进行源代码的本地开发和远程部署,从而防止多个用户进行远程开发。
这是否可能,或者我应该以其他方式解决这个问题?
【问题讨论】:
标签: git google-cloud-platform jupyterhub
对于JupyterHub,我认为“部署”正在本地开发和测试的代码的最佳方式是,您可以使用 git(例如 GitHub)创建本地存储库,然后您可以将该本地存储库的内容推送到远程存储库。这样,每个用户(在他们自己的个人计算机上)都可以做出自己的贡献,然后在 JupyterHub 上,您可以使用终端从远程存储库下载其结果。
你可以这样打开终端:
然后从那里克隆/拉取远程存储库中的更改,如下所示:
jupyter-username@instance-name:~$ git clone https://github.com/jrjohansson/scientific-python-lectures.git
这种方法也适用于实例,每个用户都可以在位于实例中的本地存储库中进行更改(每个用户将拥有一个单独的本地存储库),然后他们可以将更改推送和拉取到远程存储库,以便他们的工作保持同步。
编辑:
作为我的回答的补充,所描述的第一个场景是每个合作者在他们自己的个人计算机上都有一个本地存储库(我认为这是您在问题上本地所指的内容),这样他们将拥有自己的工作空间和将无权访问所有其他用户存储库。如果您想进一步分离存储库,您可以查看forking projects 的工作原理,因此每个协作者都可以拥有主项目的分支,然后当任何人想要添加他们的更改时,他们可以提出拉取请求。
最后,我认为您会发现以下链接对使用 git link1 和 link2 进行部署很有用,有关拉取请求的更多信息请参阅 this、merging 和 user account repository 的权限和为organizations。
【讨论】: