gpt4 book ai didi

Django 部署到 Webfaction.com 的过程

转载 作者:行者123 更新时间:2023-12-01 12:28:29 28 4
gpt4 key购买 nike

为了简化我的 django 应用程序到 webfaction.com 的部署过程,我有一个主(工作副本)和一个开发分支。

目前我正在做以下事情:

  1. 在我的本地开发环境中更改我的开发分支
  2. 当更改生效时,运行本地服务器进行测试,然后与我的主分支合并
  3. git push 所以代码在我的远程仓库中(这还有其他问题,例如我还没有完全解决的密码, key 等)(我也不相信它可以将代码发送到 webfaction 而且我不是非常喜欢我目前使用过的任何 FTP 服务)
  4. SSH 进入我的 webfaction 服务器并执行 git pull 和 git merge
  5. 测试是否一切正常(从来没有)
  6. 进行必要的更改以使一切恢复正常
  7. 提交我为修复所有问题而必须做的任何更改,然后推送回远程仓库
  8. 返回我的开发环境并将代码与生产代码同步
  9. 为下一个特征冲洗重复

很明显,我错过了高效的开发培训,据我所知,我只将 django 作为业余爱好项目工作了几个月。

任何人都可以建议一个更有利于理智发展的django部署过程吗?

最佳答案

我强烈建议 Fabric 处理您对 WebFaction 的部署: http://docs.fabfile.org/en/1.11/tutorial.html

通过使用 Fabric,您可以从本地终端部署代码和执行其他服务器端操作,而无需手动通过 ssh 连接到服务器。首先安装 Fabric:

pip install Fabric

在您的项目根文件夹中创建 fabfile.py。这是一个可以帮助您入门的示例 fabfile:

from fabric.api import task, env, run, cd
from fabric.context_managers import prefix

env.hosts = ('wf_username@wf_username.webfactional.com',)
env.forward_agent = True

MANAGEPY = '~/webapps/my_project/code/my_project/manage.py'
PY = '~/webapps/my_project/env/bin/python2.7'

@task
def deploy():
with cd('~/webapps/my_project/code/'):
with prefix('source production'):
run('git pull --rebase origin master')
run('pip install -r requirements.txt')
run('{} {} migrate'.format(PY, MANAGEPY))
run('{} {} collectstatic --noinput'.format(PY, MANAGEPY))
run('touch my_project/my_project/wsgi.py')

您可以从您的终端运行 fab 任务:

fab deploy

在我看来,直接在服务器上更改代码是一种不好的做法。 Fabric 可以改进您的开发流程,以便您仅在本地编辑代码、快速部署并测试它们。

关于Django 部署到 Webfaction.com 的过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37058050/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com