这是我在堆栈溢出中的第一个问题,我总是在这里找到答案,现在是时候询问我无法解决的问题了。
我一直在谷歌搜索这个,但我无法解决我的问题。
我想使用Flask在python中创建一个项目。我知道如何设置服务器来运行应用程序,我正在使用
我知道如何按照digital ocean
上的本教程配置应用程序我想成为“专业”我来自PHP,而且我使用FTP将我的更改从我的计算机上传到生产服务器。我上一份工作中的某人将SVN配置为控制版本以更新生产服务器。
我的项目需要类似的东西,但我不知道该怎么做。如果我在计算机中编辑.py文件并通过FTP上传文件,则更改不会反映在我的浏览器中。我必须重新启动apache o整个服务器以查看更改,当然这不是一种聪明的工作方式。
我真的需要帮助来使用git设置工作流程,这个想法很简单。我将在我的计算机上安装git以在我的生产服务器中工作和git,我想使用git部署和更新应用程序并查看应用程序上的更改(观看我的浏览器)但我的 问题是
我怎么做这个设置?每当我从计算机提交更新时,我是否必须在生产服务器上执行任何命令?或者一切都将自动与git。
我会答复我的答案和帮助casue我很沮丧,我不想回到PHP
答案 0 :(得分:1)
简短而一般的答案是,在Python中,您将使用部署工具和一组部署脚本。
Python的常用部署工具选择包括Fabric和Paver。这些工具本质上有助于创建“任务”脚本,然后您可以运行它们。它们面向部署,因此它们提供了在远程服务器上执行操作的库函数。
根据您的示例,您可以为Fabric编写一个脚本,该脚本将连接到远程服务器,通过SFTP上载代码,并正常重新启动服务器。
我强烈建议花时间学习和使用其中一种工具。除了明显的优势之外,它们还具有许多长期使用的非显而易见的好处,例如:更容易扩展到多个部署目标盒。
答案 1 :(得分:1)
我使用的是相同的配置(除了我使用Ubuntu 14.04),发现以下两个教程非常有用。如果我理解你的要求,这应该会让你继续前进:
您已经列出了第二个教程,因此第一个教程应该向您展示如何设置git以推送部署到您的服务器。它还向您展示了如何设置测试版分支,以防您不想立即推送!
答案 2 :(得分:0)
不是完整的解决方案,但请查看gitreceive。这是一个小型bash脚本,您可以在生产服务器上运行该脚本,以将其配置为通过git push
接收代码。
我说这不是一个完整的解决方案,因为所有gitreceive都会调用一个脚本,你必须用推送的文件来编写。您的脚本必须安装文件,运行任何设置任务,重新启动服务器等。