将 Cloud9 工作区克隆到启用 SSH 的设置中

Posted

技术标签:

【中文标题】将 Cloud9 工作区克隆到启用 SSH 的设置中【英文标题】:Clone a Cloud9 workspace into an SSH enabled setup 【发布时间】:2018-01-25 20:47:09 【问题描述】:

我的问题涉及将 Flask 内置的网络应用程序迁移到 Droplet。

我使用 C9 中的 Flask 模板在私有工作区中构建了应用程序。现在它已经开发完成,我想在 Digital Ocean 液滴中设置应用程序。将一个全新的 C9 SSH 工作区连接到一个 droplet 就可以了;但是,默认情况下 SSH 工作区没有很多依赖项(mysql;Flask),这是一个主要的痛苦。我在 14.04 上使用带有 Ubuntu NodeJS 6.9.5 的液滴。

有没有办法将我现有的私有开发工作区克隆到 SSH 工作区?如果我出于任何原因希望删除 droplet,那么维护一个与另一个同步的工作区会更好。

谢谢。

【问题讨论】:

【参考方案1】:

您为什么不能直接将磁盘映像,将工作 c9 的数字副本复制到您的新工作场所,然后使用 rsync 进行增量同步。

rsync -azHAXxP -e 'ssh -p22' username@your-droplet-IP \ 
"dd if=/dev/sda of=myworking-droplet.iso bs=512 conv=noerror,sync"

现在您已经拥有了作为图像 (.iso) 文件的工作液滴的完整副本, 您可以将其复制到您选择的任何硬盘上并启动。

将您的 Cloud9 映像到 USB 中

如果您的 C9 文件大小小于 30G,您可以将其复制到 USB 驱动器并维护本地可启动副本,即您可以将其镜像到任何更大的 USB 并使其可启动,以实现此目的:

安装比您的 iso 更大的 USB。 使用 df -h 或 lsblk -a 检查已安装的闪存驱动器位置

将你的iso文件镜像到usb:

dd if=myworking-droplet of=/dev/sdb bs=512k conv=noerror,sync

完成后,卸下驱动器,将其插入另一台 PC, 将启动顺序更改为 USB 驱动器 并在本地启动您的 C9

将您的 Cloud9 工作区目录同步到另一个盒子

如果你只想同步你的 C9 工作区目录会更好 通过 SSH 连接到另一个盒子,使用:

`rsync -azHAXxP -e 'ssh -p22' username@your-droplet-IP:/path/to/your/workspace .`

以上内容会将您的工作区目录克隆到您当前的盒子中。 注意:命令末尾的点是必需的。

将您的 Cloud9 工作区安装到您的本地机器上

您还可以将远程工作区文件系统挂载到本地计算机,以便在 苍蝇并将您的液滴视为本地存储,这样您就可以工作和 无需登录您的 Cloud9 即可在本地访问相同的工作区 每次您想对项目进行更改或工作时,以实现此用途:

如果尚未安装 SSHFS,请安装:

sudo apt-get install sshfs

创建一个本地目录,用于挂载 Droplet 的文件系统。

sudo mkdir /mnt/mydroplet

安装你的液滴:

sudo sshfs -o allow_other,defer_permissions \ root@xxx.xxx.xxx.xxx:/ /mnt/mydroplet

如果您的 Droplet 配置为通过 ssh 密钥授权登录,请使用:

`sudo sshfs -o allow_other,defer_permissions,IdentityFile=~/.ssh/id_rsa \
root@xxx.xxx.xxx.xxx:/ /mnt/mydroplet`

现在您可以像处理连接到本地计算机的物理设备一样处理 Droplet 上的文件。

从本地机器测试您的挂载:

`cd /mnt/mydroplet`

创建一个测试文件

touch TestFile.php

现在登录到您的 Clound9 并验证您是否可以访问和修改新创建的文件,即 TestFile.php

现在您可以在本地编码,它会立即出现在您的 C9 上,或者通过将文件复制到本地安装的目录将文件从本地机器上传到 Cloud9。

【讨论】:

嘿@LasVegasCoder,关于如何实现这一点的任何提示?我找不到太多关于 C9 工作场所成像的指南。 澄清一下,到目前为止我偶然发现的主要(唯一)解决方案是在终端中使用mkisofs 来创建一个目录。似乎没有任何用于创建图像的内置 C9 命令。 @JohnL_10 我编辑了答案。是的,您在mkisofs 上是对的,非常方便地创建目录的 iso 映像。

以上是关于将 Cloud9 工作区克隆到启用 SSH 的设置中的主要内容,如果未能解决你的问题,请参考以下文章

如何为 Gitlab 运行器启用通过 SSH 克隆?

SSH 进入 AWS Cloud9 环境

将 PHP/Apache 工作区从 Cloud9 迁移到 AWS

通过 SSH 创建 Git 存储库并将其克隆到本地

github设置添加SSH

github设置添加SSH