プロジェクトの環境設定の時間を短縮するにはどうすればよいですか?
-
03-07-2019 - |
質問
プロジェクトでは、 tmp
フォルダーに多くのアプリケーションログ(非常に役立つ場合があります)を書き込みます。
このフォルダには、次のようなコンポーネントのディレクトリがあります。
- api
- email2sms
- scheduled_sending
- 請求
- など 要約すると、10個未満のフォルダー。
問題: 新しいコンポーネントのフォルダーは時間とともに発生します-このフォルダーはそれぞれ書き込み可能である必要があります。
すべての開発者がローカル環境でこの各フォルダーをchmodするのに時間がかかるため、運用環境でこれらのフォルダーをchmodするのに時間がかかります。
この問題の解決方法 このプロセスをどのように自動化できますか(Apache Antタスク、SVNプロパティ、アプリケーションのスクリプト-タスクを担当する必要があります)?
環境: 開発環境-Ubuntu、Windows;プロダクション-FreeBSD
解決
私が働いているほとんどの会社で使ってきた手っ取り早い方法は、このようなものでした:
- すべての開発者がファイルの単一ソースを持つように、すべてのコードをバージョン管理システム(SVNなど)に入れます。すでにこれを行っていることは明らかです。 あれ!
- そのコードのルートに、すべてのローカル環境を更新する
setup_permissions.sh
という名前のファイルを置きます。これには、許可など、実行する必要があるものを含めることができます。 - 毎朝、すべてのプログラマーがファイルを更新する
svn update
と、setup_permissions.sh
を実行します。 - 彼らはコードを実行しようとします。問題を参照してください。彼らは
setup_permissions.sh
を実行します。 - すべてが世界で順調です!
setup_permissions.sh
の内容に関しては、次のようになります。
#/bin/sh
TMP=/tmp
mkdir $TMP/api
mkdir $TMP/email2sms
mkdir $TMP/scheduled_sending
mkdir $TMP/billing
chmod 777 -r $TMP/api $TMP/email2sms $TMP/scheduled_sending $TMP/billing
さらに、必要と思われるコマンドを追加します。
(ああ、 chmod 777
は使用しないでください...これはひどい考えです。例としてこれを見てください。)
このアプローチの鍵は、規律です。プログラマーがローカル環境を更新するときに setup_permissions.sh
を実行する規律を持つことをプログラマーに信頼する必要があります。本番システムを更新する人にも同じことが言えます。
また、ディレクトリ構造に加えた変更、および必要な許可の変更で setup_permissions
を更新するための規律が必要です-コンピュータで手動で変更を行ってそれを残すその時。 (そして、ディレクトリ構造に変更を加える他のすべての開発者にも同じことが言えます。)
他のヒント
ログを作成する人(プログラム/コンポーネント)は、ログファイルを全員に書き込み可能にする責任があります-ログの作成時にmod = 777(すべての書き込み可能)を使用します。
展開プロセスにインストールスクリプトがある場合は、スクリプトでも実行します。
単純なシェルスクリプトのmkdirとchmodで十分です。