如果我的Yii應用程序有公共Git存儲庫。我想知道如何保持數據庫配置設置爲私人的?我不能忽略整個文件。使用Git管理Yii應用程序
2
A
回答
0
我不使用Yii所以我不知道它的結構,但我知道的一件事是,你不能忽略git文件的行。所以我更喜歡你gitignore你真正的配置文件,而不是真正的文件,還可以創建一個config_sample文件發佈,並記下的指令得到它的工作進入README.md
1
7
創建第二忽略配置和合並的結果:
$config=require_once(dirname(__FILE__).'/protected/config/main.php');
$configIgnored=require_once(dirname(__FILE__).'/protected/config/ignored.php');
require_once($yii);
$config = CMap::mergeArray($config, $configIgnored);
Yii::createWebApplication($config)->run();
2
首先... 保持在你的倉庫保護/配置/ main.php.dist文件。 'dist'代表'分配'。這個文件是一個普通的配置文件,但沒有明智的數據。例如,您可以擁有:
...
'db' => array(
'connectionString' => 'mysql:host=[[hostname]];dbname=[[database]]',
'emulatePrepare' => true,
'username' => '[[username]]',
'password' => '[[password]]',
'charset' => 'utf8',
),
...
請記住,您的用戶名,密碼等不是項目內容。這些信息只關注你而不關注你的應用。
第二... 準備您的部署應用程序。例如我使用phing這樣:
<project name="yourProject" default="install">
<target name="install" description="Prepare application for deploy">
<input propertyname="hostname"
defaultValue="localhost" promptChar="?">hostname</input>
<input propertyname="database"
defaultValue="database" promptChar="?">database</input>
<input propertyname="username" defaultValue="root" promptChar="?">username</input>
<input propertyname="password" defaultValue="root" promptChar="?">password</input>
<copy file="protected/config/main.php.dist"
tofile="protected/config/main.php"
overwrite="false">
<filterchain>
<replacetokens begintoken="[[" endtoken="]]">
<token key="username" value="${username}" />
<token key="password" value="${password}" />
<token key="hostname" value="${hostname}" />
<token key="database" value="${database}" />
</replacetokens>
</filterchain>
</copy>
</target>
</project>
通過這種方式,你將永遠不會保存在您的存儲庫的配置設置,並只需要運行
$ phing install
在你的機器配置的應用程序。顯然你需要安裝phing。
相關問題
- 1. 使用git和xcode管理應用程序和庫的策略
- 2. 使用Yii的URL管理
- 3. 應用程序使用報警管理
- 4. 來自控制檯應用程序的資產管理Yii
- 5. 管理Android應用程序
- 6. Salesforce:應用程序管理
- 7. 應用程序管理
- 8. 如何使用git管理django上的分叉可重用應用程序
- 9. 一個Yii應用程序可以路由到另一個嗎?用作多個Yii應用程序的中央管理應用程序?
- 10. 管理應用程序的不同git存儲庫
- 11. 如何管理.git on heroku應用程序
- 12. Git:管理我的應用程序的每個版本?
- 13. 使用GIT管理文檔
- 14. 在黑莓應用程序管理中隱藏應用程序
- 15. 管理我的應用程序的應用程序?
- 16. 應用程序管理器中的Android應用程序標題
- 17. 從另一個應用程序管理iPhone應用程序
- 18. 如何管理通用應用程序中的單獨應用程序代理
- 19. 應用程序更改管理
- 20. Android應用程序會話管理
- 21. 在Android應用程序管理延遲
- 22. 如何管理應用程序資源?
- 23. 如何管理JMX Web應用程序
- 24. ec2的管理器應用程序
- 25. Django管理員應用程序
- 26. Ionic View管理應用程序
- 27. 在Web應用程序中管理EntityManagerFactory
- 28. .NET應用程序的配置管理
- 29. .Net應用程序內存管理
- 30. 應用程序配置管理工具
您可以將您的配置分解爲較小的文件。將數據庫配置提取到單獨的文件,並忽略*表示*。 – DCoder 2013-04-05 11:46:59
如果你不需要公共的git倉庫,你總是可以在bitbucket(而不是github)上創建一個私有倉庫,因爲你可以在[bitbucket](https://bitbucket.org/)上擁有無限制的私有倉庫。 – 2013-04-06 04:25:03