在GCP / JupyterHub中进行本地开发和远程部署

问题描述

我在GCP的VM中部署了一个用户JupyterHub实例。我正在尝试找到一种在VM中进行源代码本地开发和远程部署的方法,因为JupyterHub是多用户但单实例的,因此阻止了多个用户进行远程开发。

这是否有可能,还是应该以其他方式解决

解决方法

对于JupyterHub,我认为“部署”正在本地开发和测试的代码的最佳方法是,您可以使用git(例如GitHub)创建本地存储库,然后再推送该本地存储库中的内容存储库到远程存储库。这样,每个用户(在自己的个人计算机上)都可以做出自己的贡献,然后您可以在JupyterHub上使用终端从远程存储库下载结果。

您可以这样打开一个终端:

enter image description here

然后从那里克隆/拉取远程存储库中的更改,如下所示:

jupyter-username@instance-name:~$ git clone https://github.com/jrjohansson/scientific-python-lectures.git

此方法在实例中也有效,每个用户都可以在位于实例中的本地存储库中进行更改(每个用户将有一个单独的本地存储库),然后他们可以将其更改推送和拉到远程存储库中,以便他们进行工作保持同步。

编辑:

作为我的回答的补充,描述的第一种情况是每个协作者在自己的个人计算机上拥有本地存储库(我认为这是您在问题上由本地人引用的内容),这样他们将拥有自己的工作空间,并且将无权访问其他所有用户存储库。如果您想进一步分离存储库,可以看看forking projects的工作方式,因此每个协作者都可以拥有主项目的分支,以后当任何人想要添加其更改时,他们可以进行拉动操作。请求。

最后,我认为您会发现以下使用git link1link2进行部署的链接有用,有关拉取请求的更多信息,请参见this,有关merging以及user account repositoryorganizations的权限。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...