我正在託管服務器上開發我的Web應用程序。我使用自動下載/上傳正在編輯的文件的IDE。我想建立第二個服務器(即development.domain.com),我將用它來處理更新。一旦我完成並測試了一個更新,如何將所有更改推送到發佈服務器(數據庫方案更改,文件更改/添加/刪除,系統更改爲cron等)?是否有任何軟件可以通過一個按鈕爲我執行此操作,還是必須跟蹤我所做的所有更改,然後複製這些文件並逐個更改生產服務器上的方案? 謝謝設置開發/生產PHP/MYSQL服務器
1
A
回答
0
我會看看使用源代碼管理的持續集成或持續部署解決方案。
3
這是一個很好的問題,許多早期的開發者都面臨着這個問題。我們在StrollUp上使用tomcat和Elastic beanstalk,並在生產機器上部署。所以我們很容易將war文件從我們的開發環境上傳到prod。你也可以試試Elastic beanstalk。一些php框架如Laravel提供了這些功能比較RoR。但隨着自己的PHP代碼和單一實例PROD服務器,你可以遵循以下原則:
推代碼爲正式服務器:
- 一旦你測試你的開發代碼,上傳整個目錄/ var/www/html/YOUR_PROJECT(壓縮即。YOUR_PROJECT.gz或YOUR_PROJECT.phar)到您的prod服務器(不要逐個上傳,有可能某些文件上傳成功,有些失敗)
- 解壓縮產品服務器上的壓縮上傳文件
Transfering分貝改變:
- Db的變化可能包含DDL和DML兩者。在prod上傳輸它們的最佳方法是根據我的要求保存sqld ,順序爲,您可以在開發環境中運行它們,並在解壓縮prod服務器上的壓縮項目之前運行它們。
- 另一種方式(不建議,但它適用於我)是將整個dev數據庫(顯然不是用戶或日誌表)轉儲到您的prod數據庫。
轉移Crons:
我剛纔的所有的cron複製從開發到刺。你可以在bash腳本中完成。
的crontab -r #remove目前所有的cron作業
的crontab cron.txt#放在cron.txt列出的所有cronjobs
關於上面的最好的部分步驟:你可以把所有上述步驟都在bash腳本中並在一行中執行。這將像你自己的軟件,只需點擊一下按鈕;) 我爲自己製作了「一鍵式」腳本,但它們只針對tomcat和Elastic Beanstalk。你可以看看它可能給你如何進行的一些想法:AWS Deploy
最重要的:取兩個數據庫的數據庫備份第一督促服務器上運行SQL查詢之前。請使用VCS(git,bitbucket是一個不錯的選擇)來保證所有更改的安全。
相關問題
- 1. 使用開發和生產服務器設置SVN
- 2. 設置開發服務器
- 3. Coldfusion開發服務器比生產慢
- 4. MongoDB單服務器生產設置
- 5. Python:從開發服務器移動到生產服務器
- 6. 設置IBM Domino開發服務器
- 7. 在linode上設置開發服務器
- 8. git組開發服務器設置
- 9. 設置開發服務器參考
- 10. 爲Ruby設置開發服務器
- 11. 在開發服務器上設置Sphinx?
- 12. 如何設置Django開發服務器
- 13. 設置git進行開發和生產
- 14. Git開發到生產設置
- 15. 如何設置開發/生產
- 16. 生產和開發CakeEmail設置
- 17. 生產服務器
- 18. 生產服務器
- 19. 生產服務器:URL不能打開
- 20. 配置開發服務器
- 21. 在開發機器上設置生產服務器以使用rails 3資產管道
- 22. 配置設置從開發者機器轉移到生產
- 23. 生產服務器和開發服務器之間的鏡像文件
- 24. 使用Google App Engine開發服務器作爲生產服務器
- 25. 將Rails應用程序從開發服務器傳遞到生產服務器
- 26. PDOStatement->執行較慢的生產服務器上比開發服務器
- 27. PHP memory_get_peak_usage對於開發服務器和生產服務器顯示不同
- 28. 生產服務器上的ManyToManyField錯誤,在開發服務器上罰款
- 29. Transfering數據從生產服務器的發展服務器
- 30. 在同一個vps服務器上開發和生產?
git用於源代碼跟蹤,您的數據庫更新應該由您正在編寫的軟件管理。 –