1

私は現在、シングルクリックでプロジェクトを受け入れサーバーと本番サーバーにデプロイできるようにする内部アプリケーションを作成しようとしています。これを実現するためにphingを使用しています。

現時点では、プロジェクトをチェックアウト(またはsvnエクスポート)するのに問題があります。次のコマンドを使用します。

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

通常のコマンドラインではこれは完全に機能しますが、ホストがhttpsを使用しているため、証明書を受け入れるように求められます。問題は、証明書を自動的に受け入れるパラメータがないように見えることです。

--trust-server-certも役に立ちません。これは、ホスト名の不一致が原因で証明書が拒否され、パラメータが「CAisunknown」エラーのみをバイパスするためです。

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

4

2 に答える 2

1

phingを実行するユーザーとして手動チェックアウトを1回実行するだけです。必要に応じてチェックアウトでき/dev/nullます。証明書を受け入れると、その証明書は受け入れられたままになります(そのユーザーが証明書.subversionを保存するディレクトリを持っている場合)。

ちなみに、直接使用するのではなく、svnコマンドラインインターフェイスを使用している具体的な理由は何ですか?ExecTaskSvnCheckoutTask

于 2011-07-11T13:55:16.233 に答える
1

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

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

次に、を押しpて証明書を受け入れます。


また、証明書の問題に関するいくつかのヒントをPHPドキュメントに追加しました。

単に電話する

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

コマンドラインで証明書を受け入れます。


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

su wwwrun wget https://... 
su wwwrun svn checkout https://...
于 2011-07-11T13:55:29.697 に答える