0

ライブ サーバーでプル(git pull)する必要があるライブブランチがありますが、ライブ サーバーは bitbucket にアクセスできません。

ログイン/パスを使用してリモートサーバーにsshアクセスできますが(sshキーを使用できません)、リモートサーバーで指定されたブランチを同期する(変更されたファイルを更新および削除する)最良の方法は何ですか?

4

2 に答える 2

0

scpgitを使用する代わりに、bitbucketにアクセスできるマシンからサーバーにファイルをコピーするために使用します。cronジョブをビットバケットからプルします。post receiveフックを使用して、scpコマンドを開始します。

于 2012-07-16T18:55:47.790 に答える
0

rsyncを使用してこの問題を解決しました。

rsync を使用すると、魔女ファイルが変更され、リモート サーバー上で異なることを確認できます。

また、 build.exclude.sync witchという名前のファイルを作成しました。このファイルには、スキップしたいすべてのディレクトリが含まれており、ターミナルで使用できます。

rsync -avz --exclude-from=build.exclude.sync /home/path/to/local/dir/ -e ssh myuser@myremotehost.com:/path/to/remote/dir/

Apache Antで rsync を使用して、ビルド プロセスを自動化しました。私のbuild.xmlファイルで:

<exec executable="rsync" dir="." failonerror="true">
         <arg line="-avz --exclude-from=build.exclude.sync ${prod.local.deploydir} -e ssh  ${prod.sshusername}@${prod.sshhost}:${prod.homedir}"/>
</exec>
于 2012-08-23T17:13:48.147 に答える