phingに使用可能なsshおよびscpタスクはありますか?
-
04-07-2019 - |
質問
ビルドマシンからサーバーへのリモート展開を行いたい。リモート処理は、スクリプトからのsshコマンドを介して実行できますが、自動化を実行するphingとdeploy.xmlファイルを使用したいです。
phingビルドファイル内からssh(およびscp)タスクを実行するには、どのような代替手段が必要ですか?
解決
本当にphingが必要な場合は、execしかありません。他のツールを開いている場合は、 capistrano と" PHP Webプロジェクト、インフラストラクチャのセットアップ。"。
他のヒント
SCPTask :
scpを使用して、リモートホストとの間でファイルをコピーします。このタスクには、 PHP SSH2拡張機能が必要です。 機能するには...
SCPおよびSSHタスクに出会いました昨日のPhingまた、 SSH2 for PHPのインストールの手順に従う必要があります。箱から出してすぐにタスクを実行することができませんでした。必要に応じてコピーを修正しました。
1年前に同じ問題に遭遇しましたが、当時は仕事が見つかりませんでした。私はexecタスクを実行することになりました。この方法はすべてxmlファイルに含まれていました。
<exec command="scp -i keys/id_rsa myfile user@$server:myfile" dir="." />
これは古いことは知っていますが、複数の壊れたリンクといくつかの誤った情報があるようです。
ScpTask :http://www.phing .info / docs / guide / stable / apcs60.html
SshTask :http://www.phing .info / docs / guide / stable / apcs60.htm
SemanticScuttle には、リリースするrsync リリースファイルをSourceForgeサーバーに-exec経由でも。 Rsyncはsshを理解します。
sshにはssh2 PECL拡張機能があり、Phingには ssh がありますおよび scp タスク。
- Macでは、Homebrewを使用してlibssh2をインストールします。 Linuxでは、パッケージマネージャーを使用します。
-
sudo pecl install pecl.php.net/ssh2-0.12
これを行うことができます:
<?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>