4

現在、PHP アプリケーションをデプロイする方法についてジレンマに直面しています。

私のセットアップは次のようになります。

  • SVN リポジトリもあるテスト サーバー。トランクをエクスポートして、コミットごとにコピーをテスト サーバーに自動的にデプロイするポストコミット スクリプトがあります。
  • 2 番目の実動サーバー。

私が話している展開は、明らかに最初のサーバーから 2 番目のサーバーへの展開です。

私は現在、私が書いた次のようなスクリプトを使用しています。

#!/bin/bash

echo "Removing Old Export."
rm -rf /tmp/app_export

echo "SVN Export."
svn export -q -r HEAD "file:///var/www/svn/app/trunk" /tmp/app_export

echo "Changing permissions"
chown -R apache.apache /tmp/app_export

echo "*** Rsynching to app.com."
rsync -zai --progress --stats --ignore-times --checksum /tmp/app_export/ user@app.com:/var/www/html/app/ --exclude '*.log'

しかし、アプリケーションのデプロイには Jenkins (またはそのようなもの) を使用する必要があると誰もが言います。これの長所は何ですか?

前もって感謝します。

4

1 に答える 1

4

Jenkins はビルドをサポートするように設計されていますが、実際には汎用の自動化フレームワークです。

Jenkins を使用する利点:

  • 現在使用しているのと同じスクリプトを呼び出してアプリケーションをデプロイできます
  • Jenkins ジョブは、誰かがソースコード リポジトリをコミットするたびに自動的にトリガーされるように設定できます。
  • 展開の資格情報は、Jenkins に限定できます。そうすれば、展開が自動的にトリガーされるか、展開の実行を許可されているユーザーを制御するユーザー承認ルールをセットアップできます。
  • Jenkins は中央のダッシュボードとして機能し、デプロイがいつ行われたかを記録します。
  • Jenkins で「ビルド後」アクションとして実行されるいくつかの機能テストを追加できます。
  • ..
  • ..
于 2013-01-11T00:24:08.500 に答える