2009-05-03 24 views
1

在我們的項目中,我們在tmp文件夾中寫了大量的應用程序日誌(有時它們非常有用)。如何減少項目環境設置的時間?

在此文件夾,我們有組件的目錄,如:

  • API
  • email2sms
  • scheduled_sending
  • 計費
  • 等 不到10個文件夾,在總結。

問題: 新組件的文件夾中產生隨時間 - 每個文件夾這個的必須是可寫的。

因此,每個開發人員都需要花時間在本地環境中對這些文件夾進行chmod操作,因此在生產環境中chmod這些文件夾需要一定的時間。

如何解決這個問題? 這個過程如何實現自動化(Apache Ant任務,SVN屬性,應用程序的腳本 - 哪一個必須負責任務)?

環境: 開發環境 - Ubuntu,Windows;生產 - FreeBSD

回答

3

,我已經在大多數我工作的公司所使用的快速和骯髒的方法是這樣的:

  1. 把所有的代碼放在一個版本系統(如SVN或東西),所以所有的開發人員都有一個文件來源。你顯然已經這樣做了。 萬歲!
  2. 放入該代碼的根目錄中,名爲setup_permissions.sh的文件更新了所有本地環境的東西。這可以包括權限,或者你需要運行的任何東西。
  3. 每天早上,所有的程序員都做svn update,它更新文件,還有setup_permissions.sh
  4. 他們嘗試運行他們的代碼。看到一個問題。他們運行setup_permissions.sh
  5. 一切都很好!

至於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的規則,並對目錄結構做出任何更改,並且更改所需的任何權限 - 而不僅僅是在計算機上手動執行更改並將其保留在此處。 (對於修改目錄結構的所有其他開發人員也是如此)。

1

創建日誌的一方(程序/組件)應負責將日誌文件寫入所有人 - 在創建日誌時使用mod = 777(每個人都可寫)。

如果你部署的進程有一個安裝腳本,那麼在腳本中也是這樣。

+0

我應該選擇什麼 - 安裝腳本或Apache Ant任務 - 它將設置所有權限(不在反模式中?)。如果它必須是一個腳本 - 何時以及如何調用 - 在Apache Ant的「構建」任務中運行腳本還是一些問題?請幫忙 – ep3static 2009-05-03 12:36:17

0

mkdir和chmod在一個簡單的shell腳本中應該足夠了。