linlance
V2EX  ›  问与答

统一开发环境,同步开发代码和数据,大家是怎么做到的?

By linlance at 2017 年 12 月 4 日 · 11053 次点击

问题: 1、办公室 2、家里 3、出差

使用云服务器,速度太慢了,希望本地有一套开发环境,python/PHP+mysql,这样子。 感觉用虚拟机要好一些,运行和开发在本地,调试也方便,然后怎么同步到远程的服务器上呢?

用 syncthing ?用 git 代码克隆?用 svn ?

虚拟机的话,virtualbox+vagrant 不太绿色, 需要安装到系统里,最终如果没有办法解决,可能只能用 vagrant 了,virtualbox 听说太重了,有没有轻量化的虚拟环境?

目前也只想到用 vagrant 的配置文件把虚拟机里的开发目录,共享本地主机的一个目录。然后这个目录用同步手段和服务器上的目录同步,但是相应的数据库里面的数据呢?如何同步?

第 1 条附言  ·  2017 年 12 月 27 日
其实同步环境的需求,我最近想了一下

1.代码同步,python,php,html,静态文件等等
2.数据库同步,mysql,这个得每次服务关闭,然后导出?
3.运行环境同步
4.本地(家 /办公室)开发运行,远程速度有点慢...

满足以上 4 点就可以了.目前上面的方案都不太完美...
53 条回复  •  2017-12-27 08:31:37 +08:00
coderluan
   1
coderluan  
   2017 年 12 月 4 日
对于楼主,我感觉买个笔记本随身背着最合适......
3dwelcome
   2
3dwelcome  
   2017 年 12 月 4 日
我用的是 KVM 云服务器,只要网速没啥问题,正常开发是没问题的。代码同步的话,是用的自己写的双向同步工具,也就是判断文件最新修改日期,把最新的拷贝到另外一台计算机上。

数据库确实没啥好办法,都连远程 mysql 数据库吧。
whypool
   3
whypool  
   2017 年 12 月 4 日
所以一天没事干就配环境配虚拟机?
slgz
   4
slgz  
   2017 年 12 月 4 日
买一个笔记本不就完事了吗
pushaowei0727
   5
pushaowei0727  
   2017 年 12 月 4 日
我觉得 docker 挺不错,没事瞎折腾
Smipto
   6
Smipto  
   2017 年 12 月 4 日
坏境一样,用个同步软件不就可以了。
ByteRan
   7
ByteRan  
   2017 年 12 月 4 日
docker
linlance
   8
linlance  
OP
   2017 年 12 月 4 日
docker 好像很多地方都不方便。docer 出来一个完全一样的开发环境,很不容易。
linlance
   9
linlance  
OP
   2017 年 12 月 4 日
@slgz 笔记本哪里有办公室双屏幕台式机爽啊,效率完全不一样,还得插来拔去。。。
3dwelcome
   10
3dwelcome  
   2017 年 12 月 4 日
轻量级虚拟机可以考虑 qemu, 最近官网 2017/10 月更新了个 windows 硬件加速版本,运行 linux 发行版速度快的飞起,和以前慢吞吞的 qemu 真是天壤之别。

详细可见官网 blog.
sarices
   11
sarices  
   2017 年 12 月 4 日
我现在是这样的,公司的电脑常年不关,开启用 teamviewer,家里出差只要有可以上网的机器都能连进去工作
wangxiaoer
   12
wangxiaoer  
   2017 年 12 月 4 日 via Android
用 git 会死吗?有什么可挑的?
slgz
   13
slgz  
   2017 年 12 月 4 日
@linlance 我现在就是笔记本+显示器,感觉稳稳的
3dwelcome
   14
3dwelcome  
   2017 年 12 月 4 日
@sarices 666, 可惜我们公司不允许,要不然我也想 24 小时开着。
rockyou12
   15
rockyou12  
   2017 年 12 月 4 日
用 git 或者 svn 同步代码,mysql 直接放云端服务器上,服务器要更新部署直接上去 update。
yuanfnadi
   16
yuanfnadi  
   2017 年 12 月 4 日
2k 哥?好熟悉的头像
Mogugugugu
   17
Mogugugugu  
   2017 年 12 月 4 日
docer 出来一个完全一样的开发环境,很不容易 ???? what ??? docker 存在的意义是啥???
linlance
   18
linlance  
OP
   2017 年 12 月 4 日
@Mogugugugu 能否详细说说,windows 下 docer 一个跟 linux 下一摸一样的开发环境,不会弄。

@yuanfnadi 呃,是我:)‘

@3dwelcome 这个我去试试,qemu 原来用过,我其实只想想到处开发 FLASK 而已。
gdtv
   19
gdtv  
   2017 年 12 月 4 日
thinkpad + 底座 + 大屏显示器
家里和公司分别放一个底座 + 大屏显示器,然后把 thinkpad 往上一放就行,出差拿起就走。
Mogugugugu
   20
Mogugugugu  
   2017 年 12 月 4 日
@linlance Windows 下面用 docker,可能 docke 官方和 widnows 官方都无法解决你的问题- -
standin000
   21
standin000  
   2017 年 12 月 4 日
@3dwelcome qemu 跟 win10 linux 子系统速度比怎么样?
maikcn
   22
maikcn  
   2017 年 12 月 4 日
代码同步 Git
开发运行环境 Docker 封装
数据库同步 Docker 容器的 Volume 定时 backup

至于客户端就剩下代码编辑器了,那随便怎么都可以
hansnow
   23
hansnow  
   2017 年 12 月 4 日
2k 哥你好,2k 哥再见ヾ( ̄▽ ̄)Bye~Bye~

目前是用 Git 同步代码,用 Docker 来保证线上环境和开发环境一致
leavic
   24
leavic  
   2017 年 12 月 4 日
惊现 D 版 2K 哥啊。。。。
leavic
   25
leavic  
   2017 年 12 月 4 日
回到内容,笔记本,好携带的笔记本,我是说 macbook。
屏幕不爽可以外接啊。
代码我直接放 dropbox。。。。。
工具 pycharm 反正是跨平台的
BlackCat02
   26
BlackCat02  
   2017 年 12 月 4 日
后台工程师表示有 vpn 连到公司开发机就够了
Remember
   28
Remember  
   2017 年 12 月 4 日
2kg 你好
3dwelcome
   29
3dwelcome  
   2017 年 12 月 4 日
"qemu 跟 win10 linux 子系统速度比怎么样?", 速度很快,但必须是 Intel 新的 CPU,能开启 VT-EPT 虚拟化技术。加速 x86 linux 和加速 x86 android 用的是一个硬件模块 - HAXM.

技术和 win10 的 Hyper-V 类似,但可惜两者是冲突存在,一个开了,另一个就必须关掉。
TangMonk
   30
TangMonk  
   2017 年 12 月 4 日 via Android
wzw
   31
wzw  
   2017 年 12 月 4 日
@3dwelcome qemu 可以代替 vmware workstation 吗?
wzw
   32
wzw  
   2017 年 12 月 4 日
我说一下我的做法.

代码用 dropbox 同步 + 测试环境买了三年年付的阿里云
forestyuan
   33
forestyuan  
   2017 年 12 月 4 日
买个大点的 U 盘随身带,程序代码都存 U 盘上
akira
   34
akira  
   2017 年 12 月 4 日
代码管理 来同步多点代码。 至于数据库,测试数据没有必要同步啊,保证表结构一致就可以了
hellojinjie
   35
hellojinjie  
   2017 年 12 月 4 日
家里电脑不关机,,走到哪,都用 Teamviewer 连接,当然只能是紧急排错时用
flynaj
   36
flynaj  
   2017 年 12 月 4 日 via Android
@wzw 各有不同,qemu 可以模拟各种系统,功能性多,VMware 商业软件操作简单方便。
loading
   37
loading  
   2017 年 12 月 4 日 via Android
买硬盘座,只带硬盘😉
naiba
   38
naiba  
   2017 年 12 月 4 日 via Android
git docker 必须的。

我想进来看一下有没有先进的呢,结果水的一比。
incompatible
   39
incompatible  
   2017 年 12 月 4 日
惊现 D 版 2k 哥!!

环境是不经常变更的,代码是频繁变更的,所以你应该搞一下环境和代码分离。
环境就搞一个虚拟机镜像放到云盘上,代码使用 git 做同步。
whatsmyip
   40
whatsmyip  
   2017 年 12 月 4 日
dropbox + docker
zhangchioulin
   41
zhangchioulin  
   2017 年 12 月 4 日
@Mogugugugu #20 windows 10 不是内置 ubuntu 吗?这个不行吗?
cchange
   42
cchange  
   2017 年 12 月 4 日 via iPhone
@3dwelcome 请问可以和 VMware 并存吗??
貌似 VMWare 和 Hyper-V 不能同时运行
johnniang
   43
johnniang  
   2017 年 12 月 4 日 via Android
使用内存数据库怎么样。写好 insert 语句,每次启动项目得时候都是一样的数据。
sagaxu
   44
sagaxu  
   2017 年 12 月 5 日 via Android
不出差,回家也不写公司代码
msg7086
   45
msg7086  
   2017 年 12 月 5 日
@cchange 同一时间只能跑一个 Hypervisor。
bearqq
   46
bearqq  
   2017 年 12 月 5 日
系统装 ssd 的移动硬盘里随处带走
然后某一天 ssd 蹦了
Clarencep
   47
Clarencep  
   2017 年 12 月 5 日
docker+1

此外单用 git 也可以,数据库同步可以写个脚本导出成 sql,然后提交到 git 上。注意用私有 git,不要公开 repo.
hasbug
   48
hasbug  
   2017 年 12 月 5 日
带笔记本,公司配好的显示屏+键盘鼠标干活
JerryMouse
   49
JerryMouse  
   2017 年 12 月 5 日
这么多朋友们都发现了是 2000 哥啊。
环境我不懂,但是代码感觉用 git 挺好的啊,没觉得速度不行。
fhefh
   50
fhefh  
   2017 年 12 月 5 日
git 同步代码
vagrant 统一开发环境(docker 也可以)
数据库放在$2/Mo 的服务器上了~~
fhefh
   51
fhefh  
   2017 年 12 月 5 日
顺便问下大佬 有没有国内 `20 元 /月` 云服务器~~ 嘿嘿~~
bullettrain1433
   52
bullettrain1433  
   2017 年 12 月 5 日
面向 dropbox 编程 23333
linlance
   53
linlance  
OP
   2017 年 12 月 27 日
其实同步环境的需求,我最近想了一下
1.代码同步,python,php,html,静态文件等等
2.数据库同步,mysql,这个得每次服务关闭,然后导出?
3.运行环境同步
4.本地(家 /办公室)开发运行,远程速度有点慢...

满足以上 4 点就可以了.目前上面的方案都不太完美...
© 2026 V2EX · 135ms · 3.9.8.5