
1.想要构建 python应用程序,当新补丁可用时,它将自动更新
2.它将运行单元测试以检查补丁是否成功部署
3.如果在安装过程中出现任何故障,它将自动回滚
我不知道的
A.不确定如何从源代码构建补丁
B.可以检查有关新更新的算法/标准过程
C.自动部署/回滚过程
有什么建议/链接吗?
解决方法 我实现了一个服务器,它识别更改的源代码并提取新代码.它于 pythonanywhere.com在 this url托管,代码在 github.这个答案基于我在实现更新功能时的经验.当您通常使用git对代码进行版本控制时
>有一个工作的主或部署分支
>当所有测试都通过时,有一个开发分支合并到master – > deploy分支.
这样,您只需知道部署分支何时更改,以确定何时重新启动.应该在之前进行测试,以便不会出现停机.如果在部署系统上运行测试,则可能需要花费太多时间,或者无效代码会破坏系统.
因此部署分支可行,因为之前已经过测试.
对于自动化测试,您可以使用连续集成服务器(如travis)下载代码并对其进行测试.可以询问是否运行特定提交.
当您在github上托管代码时,您可以指定推送http地址.我使用http://server/update每当更改存储库时,github会通知您的服务器.
然后,您可以通过从git中提取源代码来更新源代码,如果部署分支确实已更改,则可以重新启动应用程序.我不能在服务器上这样做,也许你可以.
场景:
>我将代码推送到github
> github将POST发送到http:// server / update
>
@post('/update') # bottle codedef pull_own_source_code_and_restart(): with inDirectory(server_repository): prevIoUs_commit = last_commit() text = git.pull() current_commit = last_commit() if prevIoUs_commit != current_commit: restart() return "Git says: {}".format(text) 看看这两个文件:
> command_line.py用于git命令
> bottle_app.py如果服务器无法重新启动,则为派生实现.
版本控制系统通常对每个版本进行“修补”.我用git.如果你现在不知道git,那就去学习吧!这是Pythons Django和git:http://www.opentechschool.org/material.html的研讨会材料
现在让我知道这些信息是否足以在Django中实现这样的功能.当你开始工作时,请在这里发布你的代码.
总结以上是内存溢出为你收集整理的如何在多个服务器上实现Web应用程序的自动更新功能?全部内容,希望文章能够帮你解决如何在多个服务器上实现Web应用程序的自动更新功能?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)