关于生产环境程序发布的问题

2016-04-09 01:13:31 +08:00
 SlipStupig
想问一下各位,像 python 程序如何能安全无缝的更新部署到远程的生产环境上面去,且能非常方便的发布新版本
3014 次点击
所在节点    Python
10 条回复
scys
2016-04-09 01:19:43 +08:00
今天刚部署公司项目,好在是测试期间,结果停了 1 个小时有多。
测试环境和实际环境差异太大。
推荐单独划分一个路径 /path 测试通过后,监听不同端口,由 nginx 进行 reload 区分,新链接会自动读取新的服务器,旧链接不会断。
SlipStupig
2016-04-09 01:26:20 +08:00
@scys 不仅仅是 web 服务,我想的代码开发完成了,本地测试也通过了,怎么分发到生产环境中,如果有新应用上线就安装新环境完成后起服务,如果是版本更新就覆盖掉老的代码,然后启动已经更新完成的项目,但是这个过程我想完全自动化,不能说每次都登陆到服务器上面去吧?一条两台还好,几十台怎么办?
scys
2016-04-09 01:28:16 +08:00
git hook
Mush
2016-04-09 02:03:14 +08:00
哎, 关于这个问题, 我们能聊一天, 我用 docker 实现了一个比较炫酷的方式.
zhouxuchen
2016-04-09 02:13:26 +08:00
我 php 开发用的是 Git WebHooks ,生产环境和线上环境走不同的配置文件。不知道 Python 行不行。
janxin
2016-04-09 08:22:04 +08:00
lz 可以看一下持续交付与持续部署
另外线上我不太建议自动持续部署,有可能版本本身 bug 等等原因,当然,除非就 1 、 2 台机器的小项目。
virusdefender
2016-04-09 10:38:58 +08:00
fabric
SlipStupig
2016-04-09 12:53:15 +08:00
@Mush docker 很好说,环境打好了直接 push 到生产环境,但是公司无人使用,所以这个一定不行!

@zhouxuchen 应用程序不是推上去就可以了,还要启动入口程序,可能有的还有相关参数需要设定,有些模块是第三方使用配置文件基本上没可能,所以这个方法可能可行,但是可能要增加额外的工作量
greenmoon55
2016-04-09 13:20:43 +08:00
docker or ansible/saltstack...
qihboy
2016-04-14 20:03:57 +08:00
你们没听说过 virtuanenv 和 fabric 么?

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

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

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

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

© 2021 V2EX