在不同的计算机之间迁移

时间:2013-12-13 21:27:30

标签: ide virtualenv development-environment sublimetext3 cloud9-ide

首先!这个问题并不真正感觉它属于Stackoverlow,但根据“on-topics”help,“程序员常用的软件工具”在范围内。所以,这里是:

背景

我在家工作,为一家非常小的公司工作。我在西海岸,我的老板在东海岸。大约每个月左右,我都需要去上班。但是,即使我出于个人原因旅行,我们也很小,如果出现问题,我可能需要拿出我的笔记本电脑并修理它。

软件框架和工具:

我主要使用Python,Django和Postgresql - 我们主要使用Heroku,但在Rackspace和EC2上都有一些盒子。我使用VirtualEnv并且有大约6个环境/工作区。我的编辑器是SublimeText 3.我们使用Git和GitHub。

设备:

我的桌面有点老了,但仍然相当强劲,我有四监视卡,2-22英寸显示器和2-19英寸显示器连接到它(这将很快破坏你)。运行Ubuntu 12.04

笔记本电脑非常弱(公司购买) - 单显示器等。但是,我相信我可以让他们升级它。运行Ubuntu 12.04

问题:

每次我需要走在路上,似乎我花了半天时间来弄清楚我的笔记本电脑是否准备就绪,等等。

我知道我不是唯一一个处理这类事情的人。家里/办公室里有你的大胖子,豪华的桌面,但是你必须在路上工作/休闲几周,你需要能够有效地工作。

问题:

您(作为专业软件开发人员)如何管理在机器之间移动的问题?

我一直在考虑/评估的一些可能的解决方案:

Cloud9 IDE。虽然我认为这是一个好主意,但对我来说它仍然感觉有点不稳定,我不确定我是否会每天都使用它。但是,我只是通过托管尝试过。如果我在SSH模型上尝试它可能会更好。

创建另一个EC2实例,它将成为我的“开发框”,只需将SSH连接到其中即可工作。我的猜测是,我最终必须认真学习Vim(我可以编辑配置文件,然后我会得到HJKL,但我会在学习曲线上停留一段时间)。

最终说明:

确定;我知道了。这不是典型的SO问题。这里没有正确/错误的答案。但是,我找不到一个更好的董事会来询问它。但是,它似乎属于:

  • 程序员常用的软件工具
  • 软件开发中独有的实用,可回答的问题

如果有更好的地方可以提出这个问题,请建议和/或为我进行迁移。但是,我坚持认为这个问题很有价值,值得在某些板上进行讨论。如果我最终使用某人的工具集/配置/建议,我会将其标记为“答案”,并提供更新列表,确切地说明了我所做的和结果。

4 个答案:

答案 0 :(得分:0)

一个字 - Dropbox。我保留了所有我的Sublime Text设置(针对不同的操作系统和版本),以及我可能想要在路上工作的Git项目的本地副本。除非绝对必要,否则我通常不会使用virtualenvs,但你也可以轻松地将它们保存在那里。

下载:你只能免费获得2 GB,这些天你可以很快填写,所以需要主动修剪,或者你可以放弃(我认为)100 GB版本每月10美元。也不保证数据完整性,因此您仍需要小心备份。最后,根据您处理的项目类型,您可能希望加密文件,这不是服务的内置部分,但可以相当容易地添加到顶部,特别是如果您使用相同的文件操作系统来访问它。

答案 1 :(得分:0)

我有一台MacBook Air作为我的旅行/咖啡店/客厅机器。我有一个Ubuntu服务器,它在家里非常强大,通常运行一个沙盒VM供我玩。我会根据需要对它们进行搜索并来回扫描。

任何代码或资源文件(.bashrc .vimrc .dir_colors等)我总是使用git for。我为每个项目使用版本控制(通常是git),无论是关闭还是愚蠢,我建议做同样的事情。我使用Bitbucket网站进行个人项目:

http://www.bitbucket.org/

DropBox和Google云端硬盘用于其他东西(数据文件等),它们会来回移动并且相当大。

我使用包管理器来保存相同的Python包并在所有机器上保持最新(apt-get或带有Macbook的Homebrew)。

除此之外,我只是有意识地努力保持我的一般主目录结构相似。

答案 2 :(得分:0)

虽然我不太确定,但我决定采用在DigitalOcean上设置远程“编码”服务器并使用Tmux + Vim的解决方案。我会在几个月内发布这个答案的更新,并给我解决方案的经验。

答案 3 :(得分:0)

出于这个原因,我使用USB硬盘。

在我的USB硬盘上是可启动的并且有操作系统。

某些计算机无法启动该USB磁盘(尝试从USB启动后未在BIOS或“启动错误”屏幕中检测到)。为了解决这个问题 - 我使用USB闪存盘(与许多BIOS更兼容)。 USB闪存盘 - 带有OS linux(主机系统)的可启动磁盘。 从主机系统,您可以连接USB硬盘并进入chroot环境。

在家用电脑上 - 类似的工作流程。连接USB硬盘并进入chroot环境。

将x2goclient / x2goserver用于来自主机系统上虚拟操作系统的附加X11会话

此外,您可以将Xpra用于从虚拟操作系统连接的x11输出到主机系统的主X11会话

使用更好的chroot环境解决方案 - systemd-nspawn容器(在archlinux系统上默认安装)

https://wiki.archlinux.org/index.php/Arch_systemd_container

使用x2goclient或xpra应用程序(类似于nomachine / nxclient)并不重要。您可以使用lightwight方式从chroot运行图形应用程序: https://wiki.archlinux.org/index.php/change_root#Run_graphical_applications_from_chroot