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?

È stato utile?

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

SCPTask in Phing:

  

copia i file da e verso un host remoto usando scp. Questa attività richiede l'estensione PHP SSH2 per funzionare ...

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 .

  1. Su un Mac, installa libssh2 tramite Homebrew. Su Linux, usa il tuo gestore pacchetti.
  2. 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>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top