本地调试完成代码如何 git 更新到服务器?现在用的 FileZila 上传代码.

2015-03-05 09:53:09 +08:00
 lvfujun

请问各位大牛你们所在的公司完成一个功能以后如何部署到服务器?
有什么好的方法吗?
我们现在直接FileZila 更新代码经常出错!
大牛们都是怎么部署的有什么好的解决办法吗?
求围观回答!

3489 次点击
所在节点    问与答
9 条回复
Jeremial
2015-03-05 10:04:20 +08:00
简单的直接在服务器上也装一个git, 在服务器上直接 git pull. 如果是网页类的, 这个需要在开发的时候就做好合并压缩等工作了, 并且使用git跟踪这些已经压缩的代码, 不太好.

或者在本地先打包一个zip, 由有服务器登录权限的同学使用scp上传到服务器上, 然后解压覆盖
ksc010
2015-03-05 10:06:45 +08:00
NemoAlex
2015-03-05 10:19:49 +08:00
一般是用 ssh 连到服务器上 pull 代码
有一些自动化工具可以帮助完成
http://www.fabfile.org/
LT
2015-03-05 11:37:54 +08:00
直接git pull到服务器 + git hooks自动化部署...
66450146
2015-03-05 11:41:00 +08:00
本地 git push 推到服务器,服务器端用脚本或者 CI 工具下载并 gracefully restart 服务器端程序

没想到有这么多人工更新的……这种关键的任务明显脚本比人脑可靠多了
caixiexin
2015-03-05 12:35:18 +08:00
你的代码需要编译吗?还是像php,python那样解释型的?
1.在服务器上安装git,并在服务器上传一份你的项目代码作为远程仓库
2.要从本地更新到服务器上时,git push 上去,建议专门开一个release分支用来服务器上自动部署。
3.如果是需要编译的,事先写好编译脚本(就像java的ant脚本),部署脚本(比如重启tomcat),放在服务器的git push hook里,这样每次push,都会触发服务器重新编译一次工程源码,并且部署。
4.如果不需要编译更好,push上去代码就是新的了。
5.可以用ssh公钥私钥的方式,这样每次push都不用输入账号密码了。
lincanbin
2015-03-05 12:37:38 +08:00
写一个脚本来更新,服务器上装Git。
为了防止I/O冲突,脚本里可以先终止服务,然后pull同步脚本,然后再重启服务。
lvfujun
2015-03-05 15:23:36 +08:00
lvfujun
2015-03-05 15:25:45 +08:00
@Jeremial
@ksc010
@NemoAlex
@LT
@caixiexin
@lincanbin
感谢楼上各位的热心回复!已感谢!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/174598

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX