Django 将静态介质部署到与主环境分离的服务器
我在对结构部署脚本进行某些更改时遇到问题。我们正在从使用容易损坏的NFS挂载来承载我们的静态媒体转变为使用一个单独的Web服务器来承载和处理我们的所有静态媒体 我们的目标是,无论我们正在部署什么环境(测试、生产等),upload\u static\u content命令都将仅在静态媒体服务器上运行。现在,如果我们运行Django 将静态介质部署到与主环境分离的服务器,django,deployment,fabric,Django,Deployment,Fabric,我在对结构部署脚本进行某些更改时遇到问题。我们正在从使用容易损坏的NFS挂载来承载我们的静态媒体转变为使用一个单独的Web服务器来承载和处理我们的所有静态媒体 我们的目标是,无论我们正在部署什么环境(测试、生产等),upload\u static\u content命令都将仅在静态媒体服务器上运行。现在,如果我们运行fab-test-upload\u-static\u-content,一切都会很顺利。静态内容最终位于正确目录中的正确服务器上。但是,如果我们运行fad test deploy,静态
fab-test-upload\u-static\u-content
,一切都会很顺利。静态内容最终位于正确目录中的正确服务器上。但是,如果我们运行fad test deploy
,静态内容最终会出现在测试web服务器上,而不是预期的服务器上
def test():
...
env.hosts=testhosts
def prod():
...
env.hosts=prodhosts
def deploy():
# Do some deployment stuff
...
upload_static_content()
...
@hosts([static_server,])
@run_once
def upload_static_content()
# Upload static content to a different server
...
您是否尝试过Fabric 1.3中引入的执行功能?它应该尊重@hosts装饰师
def deploy():
# Do some deployment stuff
...
execute(upload_static_content)
以下是文档:
您是否尝试过Fabric 1.3中引入的执行功能?它应该尊重@hosts装饰师
def deploy():
# Do some deployment stuff
...
execute(upload_static_content)
以下是文档:
是否应该是类似于
fab prod deploy
?不确定您的意思。对于测试环境(暂存)部署,我们将执行fab-test-deploy
,对于生产环境部署,我们将执行fab-prod-deploy
,如果它不是类似于fab-prod-deploy
?不确定您的意思。对于测试环境(暂存)部署,我们将执行fab test deploy
,对于生产环境部署,我们将执行fab prod deploy
,就是这样,这是我们忽略的部分。我们以前不需要使用这种类型的功能。就是这样,这是我们忽略的部分。我们以前不需要使用这种类型的功能。