0

こんにちは、これは私のSVN構造です:

TRUNK
BRANCH
    --STAGING
TAGS
    --tag1

したがって、ここでの目標は、サブブランチ「STAGING」ですべての開発を行うことです。本番環境の準備が整ったら、すべての変更が tag1 にマージされ、TRUNK (本番環境) にロールバックされます。

TRUNK を public_html Production に設定し、ステージングを Public_html staging に設定するにはどうすればよいですか

ここでサーバーフォルダーの構造を確認できます

 /var/svn/projects/ (trunk, branch and tags are here)

/home/production/public_html <--- producction
/home/staging/public_html <-- staging

ステージングにコミットしたときに、ステージング Web サイトでライブになることを望みます。

4

1 に答える 1

0

ジェンキンスを見てください。これは継続的なビルド システムですが、これが行うことの 1 つは、Subversion の URL を監視し、変更に対してアクションを実行することです。たとえば、ステージング ブランチがあり、Jenkins が変更を検出すると、サーバー上のそのブランチのファイルをチェックアウトまたはエクスポートします。

最も簡単な方法は、ステージング サーバーで Jenkins を実行することです。Jenkins 自体は最小限のリソースを使用するため、問題になることはありません。Jenkins でジョブをセットアップして、ステージング URL を監視します。ジョブをセットアップして、ジョブの作業ディレクトリがステージング領域の Web サイト URL になるようにします。(これは、ジョブ自体で簡単に構成できます)。次に、Jenkins がステージング URL の変更を確認すると、ステージング領域を更新します。

より良いアイデアは、2 つのディレクトリを持つことです。実際のステージング ディレクトリと、次のステージング領域である別のディレクトリがあります。Jenkins は、svn exportその別のディレクトリに移動してから、古いステージング ディレクトリを邪魔にならないように移動し、新しいディレクトリをステージング ディレクトリに移動できます。そうすれば、Jenkinds が更新を行うときに、ステージング ディレクトリが一貫性のない状態になることはありません。さらに良いことに、Jenkins は、新しいステージング エリアの移動の一環として、サーバーを上下に動かすことができます。

ちなみに、Jenkins はオープン ソースであり、無料で使用できます。セットアップも簡単です。これは、独自の Web サーバーを含む単一の jar ファイルです。実行するだけjava -jar jenkins.warで、サーバーのポート 8080 で実行されます (ポートはパラメーターを渡すことで簡単に変更できます)。他のすべてはかなり自明です。新しい仕事のリンクをクリックして、フォームに記入してください。

于 2012-11-05T14:44:55.003 に答える