2

開発者がプロ​​ジェクトをローカル マシンにチェックアウトして作業し、変更を開発にチェックインする Web 開発環境を考えてみましょう。
これらの変更は開発時にさらにテストされ、定期的なスケジュール (毎週、毎月など) でライブに移行されます。
たとえば、月曜日の朝の午前 8 時に、スクリプトまたはVCS?

4

6 に答える 6

2

はい、可能です。これは通常、継続的インテグレーション ツールによって提供される機能です。通常、彼らはバージョン管理から最新のソースを取得し、プロジェクトをビルドし、それをテスト (単体テストを実行) し、場合によっては (テスト) サーバーにデプロイします。

これらのすべての手順が必要ない場合は、シェル スクリプトなどを使用して同じことを簡単に行うことができます (つまり、バージョン コントロールからチェックアウトし、サーバー上の運用フォルダーにコピーします)。

于 2008-08-18T14:19:35.587 に答える
1

確かに、しかし正確な製品は、使用している VCS に依存する場合があります。

あなたがやりたいことは、いくつかの異なるブランチを持ち、進行するにつれて移行することです。例: Development -> Stable-Dev -> Beta -> Production. その後、テスター向けに Stable-Dev と Beta の最新バージョンに自動更新するだけで、すぐに新しい製品バージョンをいつでもデプロイできます。

于 2008-08-18T14:00:29.603 に答える
1

cvs でできることはすべてコマンド ラインで実行できます。svn も同じであると確信しています。必要な機能を作成して、シェル スクリプトまたはコマンド ファイルに貼り付けるだけです。

于 2008-08-18T14:09:38.070 に答える
1

私が経験したのは、SVN と Mercurial の 2 つだけです。Mercurial の場合、更新元のブランチ (デフォルトとしましょう) を指定すると、ブランチをデフォルトにマージするたびに、サーバーを実行することができます。

hg update

リポジトリを、設定したブランチの最新バージョンに更新します。

SVN は同じ概念です。最初に必要なブランチのみをチェックアウトします。

svn co http://host/repository/branchname/

次に、cronジョブでサーバーを更新します。

svn up

ただし、理論的には、分岐をサポートする VCS (すべての優れたもの: git、mercurial、SVN など) は、これと同様のことを実行できるはずです。

于 2008-08-18T14:23:59.757 に答える
0

多くの VCS がこの機能を直接提供しているとは思えませんが、スクリプトは非常に簡単なはずです。日付ベースまたは支店ベースのチェックアウト。

于 2008-08-18T14:26:43.527 に答える
0

フォローアップとして、

私は、アプリは 1 つの仕事を適切に行うべきだと考えています。多くの場合、ツールを 1 つの製品にまとめ始めると、どれも輝かしくなく、ほとんどのツールは「まあまあ」です。

私がこのようなことをしていたら、SVN、ANT、および Subversion Ant Library ( http://ant.apache.org/antlibs/svn/index.html ) のようなものを手に入れるでしょう - あなたのミレージは異なるかもしれません。

于 2008-08-18T14:50:34.900 に答える