【问题标题】:Fabric deploying application to a proxyed serverFabric 将应用程序部署到代理服务器
【发布时间】:2014-01-28 18:46:40
【问题描述】:

我想将使用结构的应用程序部署到代理服务器。通常我们 ssh 到代理服务器,然后 ssh 到生产服务器,但是 Fabric 似乎不允许直接这样做。

设置的示例是本地 --> 服务器 A(代理)-> 服务器 B(应用服务器)

目的地是服务器B。

我已经尝试使用下面的 fab 文件进行测试。

import os.path
from fabric.api import env, run, sudo, cd, local, put, settings
from fabric.contrib.files import sed, exists
from datetime import datetime

def proxy():
    env.user = "root"
    env.hosts = ['proxy']
    env.key_filename = "/home/root/monitorserver.pem"

def production():
    """Defines production environment ."""
    env.is_debuggable = False
    env.user = "root"
    env.hosts = ['appserver']
    env.key_filename = "/home/root/appserver.pem"

def createfile():
    """Start Excecute test commands"""
    sudo("touch /tmp/test_%s" % datetime.now().strftime('%H:%M:%S'))

但运行命令

fab proxy createfile production createfile

似乎只作为

fab proxy createfile
fab production createfile

有没有一种方法可以在本地运行结构并部署到服务器 B 并使用代理?

【问题讨论】:

    标签: python django deployment fabric automated-deploy


    【解决方案1】:

    我认为这可以通过创建 2 个 fabfile 来完成:1 个在本地,1 个在代理服务器上。

    from fabric.api import env, run, sudo, cd
    from datetime import datetime
    
    def proxy():
        env.user = "root"
        env.hosts = ['proxy']
        env.key_filename = "/home/root/monitorserver.pem"
        with cd('/home/root/'):
            createfile()
            run("fab production")
    
    def production():
        """Defines production environment ."""
        env.is_debuggable = False
        env.user = "root"
        env.hosts = ['appserver']
        env.key_filename = "/home/root/appserver.pem"
        createfile()
    
    def createfile():
        """Start Excecute test commands"""
        sudo("touch /tmp/test_%s" % datetime.now().strftime('%H:%M:%S'))
    

    运行fab proxy

    (还没有测试过代码,但是这样的东西应该可以工作。)

    【讨论】:

    • 谢谢@Pratyush,我最终做到了。
    猜你喜欢
    • 2021-01-17
    • 2022-11-12
    • 2016-04-02
    • 1970-01-01
    • 2016-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多