Existem tarefas ssh e scp disponível para phing?
-
04-07-2019 - |
Pergunta
Eu gostaria de fazer a implantação remota de minha máquina de compilação para um servidor. A comunicação remota pode ser feito através de comandos SSH a partir de um script, mas eu prefiro usar phing e um arquivo deploy.xml que faria a automação.
Que alternativas que eu tenho que fazer ssh (e também scp) tarefas de dentro de um arquivo de construção phing?
Solução
Se você realmente precisa phing, então afaik só há exec. Se você está aberto para outras ferramentas, ter um olhar para Capistrano e minha resposta em "Setting um projeto PHP web, a infra-estrutura. ".
Outras dicas
me deparei com um SCP e tarefas SSH para phing ontem. Você também terá que seguir as instruções para instalar SSH2 para PHP . Eu não era capaz de obter as tarefas de trabalho em linha reta fora da caixa, você pode. Eu modifiquei a minha cópia, se você precisar eu posso fornecer.
Eu corri para o mesmo problema há um ano e naquela época eu não poderia encontrar uma tarefa. Acabei fazendo uma tarefa exec, desta forma era tudo no arquivo xml.
<exec command="scp -i keys/id_rsa myfile user@$server:myfile" dir="." />
Eu sei que este é antiga, mas parece haver vários links quebrados e alguns desinformação.
ScpTask : http: //www.phing .info / docs / guia / estável / apcs60.html
SshTask : http: //www.phing .info / docs / guia / estável / apcs60.htm
Para SemanticScuttle , usamos rsync para implantar arquivos a libertação para o servidor de SourceForge - também via exec . Rsync entende ssh.
Para ssh, há a extensão ssh2 PECL e depois Phing tem a ssh e scp tarefas.
- Em um Mac, instalar libssh2 via Homebrew. No Linux, use seu gerenciador de pacotes.
-
sudo pecl install pecl.php.net/ssh2-0.12
Agora você pode fazer isso:
<?xml version="1.0"?>
<project name="test" default="test">
<target name="test">
<ssh username="vagrant" password="vagrant" host="192.168.123.456"
command="pwd" property="pwd" display="false" />
<echo>The current working directory is ${pwd}</echo>
</target>
</project>