Bem, eu sabia que poderia fazer algo no login, mas sabia que sairia logo após a corrida. O que eu lembro agora é que eu posso correr tanto quanto eu gosto em um servidor remoto. Você pode apenas encadear os comandos juntos!
ssh user@server -t "cd /websites/website ; /bin/bash"
Agora, posso dizer ao tecido para fazer isso e estamos fora. Simples.
Eu disse que não tinha nada a ver com o Fabric, mas aqui está a nova parte do script do meu fabric, com base no acima:
def ssh():
''' SSH into the remote server at the correct directory '''
local('ssh -t -p%(port)s %(server)s "cd %(remote_dir)s ; /bin/bash"' % {
'server': server_host,
'port': server_port,
'remote_dir': remote_dir,
})
Eu linkei simbolicamente o mesmo script para que as variáveis ( server_host
, server_port
e remote_dir
) mudem de site para site.
Como o Fabric pode lidar com a conexão de saída, você também pode fazer isso:
def ssh():
''' SSH into the remote server at the correct directory '''
run('cd %s ; /bin/bash' % remote_dir)
Isso funciona, mas a saída é prefixada com uma string do Fabric. Isso fez com que o prompt demorasse mais de 80 caracteres e enquanto eu tenho toneladas de resolução, isso é demais para mim:)