Ci sono attività ssh e scp disponibili per phing?
-
04-07-2019 - |
Domanda
Vorrei fare una distribuzione remota dalla mia macchina di compilazione su un server. Il remoting può essere fatto tramite comandi ssh da uno script, ma preferirei usare phing e un file deploy.xml che farebbe l'automazione.
Quali alternative devo svolgere attività ssh (e anche scp) all'interno di un file build phing?
Soluzione
Se hai davvero bisogno di phing, allora c'è solo exec. Se sei aperto per altri strumenti, dai un'occhiata a capistrano e la mia risposta in " Impostazione di un progetto Web PHP, l'infrastruttura. ".
Altri suggerimenti
Mi sono imbattuto in una attività SCP e SSH per Phing ieri. Dovrai anche seguire le istruzioni per installare SSH2 per PHP . Potresti, non sono riuscito a far funzionare le attività immediatamente. Ho modificato la mia copia, se necessario, posso fornire.
Ho riscontrato lo stesso problema circa un anno fa e all'epoca non riuscivo a trovare un'attività. Ho finito per fare un compito exec, in questo modo era tutto nel file xml.
<exec command="scp -i keys/id_rsa myfile user@$server:myfile" dir="." />
So che questo è vecchio ma sembra che ci siano più collegamenti interrotti e qualche disinformazione.
ScpTask : http: //www.phing .info / docs / guide / stabile / apcs60.html
SshTask : http: //www.phing .info / docs / guide / stabile / apcs60.htm
Per SemanticScuttle , utilizziamo rsync per distribuire i file di rilascio sul server SourceForge - anche tramite exec . Rsync capisce ssh.
Per ssh, c'è l'estensione PECL ssh2 e quindi Phing ha la ssh e scp .
- Su un Mac, installa libssh2 tramite Homebrew. Su Linux, usa il tuo gestore pacchetti.
-
sudo pecl installa pecl.php.net/ssh2-0.12
Ora puoi farlo:
<?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>