1

現在、Subversion を使用して、2 人の開発者の間で Web サイトの開発を調整しています。私たちの間で、一連のファイルで作業し、変更をチェックインし、FTP クライアントを使用して設定された間隔で本番サーバーにアップロードすることがあります。

ここで明らかな何かが欠けているように感じますが、本当に FTP が必要なのでしょうか? リポジトリに一連の変更を加えた場合、特定の日付から現在までに変更されたすべてのファイルをまとめて、本番サイトを保持する別のリポジトリにライブでプッシュする方法はありますか? 現在、SVN ログを使用して変更されたファイルを確認し、FTP クライアントで手動で選択してアップロードしています。

私たちが取り組んでいるリポジトリは、IIS がサイトを実行するために参照しているフォルダーではなく、既に運用サーバー上にあります。

どんなアイデアでも大歓迎です!

1月16日編集 ------------------------------

「ログメッセージ」エリアに移動して、特定の期間に変更されたファイルを識別し、それらを選択して本番環境にFTPできるように、SubversionのFTPプラグインはどうですか? そのようなツールは存在しますか?

ところで: ここには多くの有益なコメントがあります。ご協力いただきありがとうございます。

4

6 に答える 6

1

FTP を使用してプログラミングの変更を行ったり来たりしていた場合は、Subversion のようなバージョン管理システムを使用することをお勧めします。Subversion は、最新のコードの問題を処理するだけでなく、両方が同時に同じファイルを更新している場合も処理します。さらに、バージョン履歴が表示されるため、時間の経過とともに変更された内容とその理由を確認できます。

.jarFTP は、開発者間でライブラリ オブジェクト (ファイル、a .dll、a.soなど) を共有する場合に便利です。ファイルから引き出すことができる関連する開発履歴はなく、これらのファイルを直接変更するつもりはありません。さらに、これらのファイルはすぐに古くなり、古くなり、リポジトリ内の多くのスペースを占有します。

FTP には注意してください。これは安全なプロトコルではありません。聞いている人がパスワードを収集できます。代わりに SCP または SFTP を使用してください。これらはsshdデーモンに関連しているため、 を使用sshできる場合は、おそらく と をセットアップできscpますsftp

FTP を使用する代わりに、これらのファイルを共有するためにDropboxまたは同等のプログラムを使用することもできます。Dropbox はすべての開発者間でファイルを自動的に更新するため、開発者は最新のコードを取得したかどうかを覚えておく必要がありません。さらに、いくつかのバージョン管理の側面があります。バージョン履歴を確認したり、古いバージョンのファイルを取得したりすることもできます。Dropbox は安全で、すべての送信は暗号化されています。Dropbox サーバー上のファイルは暗号化されて保存されます (ただし、Dropbox 自体は、ユーザー間でファイルを共有できるため、これらのファイルを復号化するためのキーを保持しています)。

于 2013-01-15T16:19:52.613 に答える
1

FTP または SCP は、必ずしもバージョン管理を通過する必要のないファイルをサーバーとの間で送受信する場合に便利です。Subversion はバージョン管理ツールであり、バージョン管理されていないファイルの転送手段として使用しないでください。したがって、私の答えは、両方を維持する必要があるということです。

于 2013-01-15T15:21:35.220 に答える
1

まず第一に、違いを理解する必要があり、ソース コントロール管理とデプロイ管理を決して混在させないでください。これらは異なるタスクとジョブであり、異なるツールによって実行されます。

SCM は (どういうわけか) 展開ツールとして使用できますが、この (展開) 領域での SCM の制限により、一般的な方法ではありません。

質問に戻ります。

RepoServer と ProdServer が異なるホストである場合は、それらがサポートする基礎となる任意のトランスポートを使用できます。FTP (選択肢がある場合) は、セキュリティ POV だけでなく、柔軟性の可能性からも最適ではありません。ツリーをターゲットにアップロードする一般的なタスクは、単純な FTP の簡単で透過的なジョブではありません。FTP セッションは自動化が不十分です。再開 - 別のトランスポートを使用できる場合は、少なくとも展開プロセスを別のトランスポートに採用することができます。

于 2013-01-15T18:32:23.547 に答える
0

私はあなたのヒーローを見つけました: Bazaarは、共同開発を容易にする分散型バージョン管理システムです。Bazaar の強みの 1 つは、さまざまなワークフローへの適応性です。選択: 集中型、分散型、またはその中間にある仕事。彼の強みは、FTP または SFTP を使用してリモート リポジトリを読み書きできることです (相手側のクライアント プログラムは必要ありません)。

svn2web でもできると思います!

于 2014-02-04T01:37:18.047 に答える
0

FTP は、ファイルを転送する優れた方法です。それはそれがするために作られたものです。SCMはソースコードを管理するために作られています。展開管理が必要であり、可能であれば自動化する必要があります。私だったら、変更されたファイルを svn から取得し、SFTP または FTPS 経由で自動的に展開するスクリプトを作成します。毎回同じ方法でデプロイを行うスクリプトが理想的です。

rsync を調べることもできます。高速で、差分を送信し、安全です。

私の経験では、VM イメージやビデオなどの大きなファイルをソース管理に追加すると、特にブランチを作成したり、リポジトリを新しいボックスにプルしたりするときに、開発が遅くなります。

別の寄稿者は、SCM と展開管理の両方に Dropbox を提案しました。私は、ソース コードの Dropbox には眉をひそめます。SVN から来るのに慣れているマージ機能は提供しません。私は安価な自動バックアップのために Dropbox を本番環境で使用しています。WHM/Cpanel に Dropbox フォルダにバックアップをドロップしてもらいました。ほとんどのデータセンターは内部ネットワークを移動する UDP パケットを好まないため、ネットワーク同期を必ずオフにしてください。

于 2013-01-17T14:29:59.417 に答える
0

はい。あなたの質問への答えはイエスです。Subversion は FTP を置き換えることができます。

于 2013-11-16T00:03:53.547 に答える