2011-07-11 6 views
1

私は現在、ワンクリックでプロジェクトを受入れサーバーと運用サーバーに展開できるように内部アプリケーションを作成しようとしています。 これを達成するために、私たちはphingを使用しています。svn checkoutがphingで動作しない

現時点では、プロジェクトをチェックアウト(またはsvnエクスポート)するのが難しいです。しかし、私は、ホストがHTTPSを使用しているため、証明書を受け入れるように求めます、これは完璧に動作し、通常のコマンドラインで

<exec command="svn checkout ${svn.host} ${svn.exportdir} --force --username server --password <password>" /> 

:私は、次のコマンドを使用します。問題は、証明書を自動的に受け入れるパラメータがないようです。

--trust-server-certは、ホスト名の不一致により証明書が拒否されるため、パラメータが "CAは不明"を迂回するだけであるため、どちらも役に立ちません。

プロジェクトのチェックアウト(またはエクスポート、更新など)に関するアイデアはありますか?

+0

:それでも問題Phingのコマンドを実行するユーザがrootでない場合、その後、あなたはPhingのコマンドを実行するユーザーとしてこのコマンドを実行する必要がある可能性があり


また、 '--non-interactive''を渡して、コマンドがユーザ入力を待つのを止めます。 –

答えて

1

svnサーバのHTTPSアドレスでwgetを実行し、証明書を永久に受け入れます。

$ wget https://svn.mydomain.com/repos 

そして、証明書を受け入れるようにPを押してください。


私もPHP documentation about the problems with certificatesにいくつかのヒントを追加しました:

単にあなたのコマンドラインで

svn checkout https://svn.mydomain.com/repos --force --username server --password iMPs+nana0kIF 

を呼び出し、証明書を受け入れます。あなたのことを確認し

su wwwrun wget https://... 
su wwwrun svn checkout https://... 
1

phingを実行するユーザーとして、1つの手動によるチェックアウトを行うだけです。あなたがしたい場合は/dev/nullにチェックアウトすることができます。証明書を受け入れたら、そのユーザーは.subversionディレクトリを持っていればそのまま受け入れられます。

ところで、SvnCheckoutTaskを直接使用するのではなく、svnコマンドラインインターフェイスとExecTaskを直接使用する理由は何ですか?

関連する問題