プロキシ サーバーにファブリックを使用してアプリケーションをデプロイしたいと考えています。通常、プロキシ サーバーに ssh してから運用サーバーに ssh しますが、ファブリックではこれを直接許可していないようです。
セットアップの例は、ローカル --> サーバー 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 にデプロイする方法はありますか?