[英]PHP Deployment to windows/unix servers
我們在windows(xampp)上開發了各種需要部署到linux / windows服務器混合的php項目。
我們過去曾使用過capistrano從windows部署到linux服務器,但最近架構和Windows服務器的變化使舊的配置無效。 該配方適用於Linux部署,但設置Windows服務器需要比現在更多的時間。 Capistrano食譜的想法是有效的答案。 顯然,Windows / Linux服務器不共享用戶,因此這有點復雜(對於capistrano假設相同的用戶名/密碼到處)。
目前我們正在為Windows服務器使用svn-update,這是我不喜歡的,因為它使所有svn文件都掛在生產服務器上。 (我們仍然需要在Windows上手動svn更新它們)並使用winscp手動更新文件並將目錄與linux對應程序同步。
我的問題是,你建議哪些工具/設置自動化這個部署方案: “各種php windows / linux開發人員部署到2 +混合windows / linux機器”
(ps:我們使用linux工具或通過cygwin工作的任何東西都沒有問題,我們只需要進行簡單的一步操作)
編輯:目前我們不能在全Linux環境下工作,我們必須部署到linux和windows服務器。 我們可以從任何地方開始部署,但我們希望能夠從任何環境中進行部署。
我根據客戶端環境使用4種不同的方法:
rsync
(簡單,不強制執行紀律) svn
從+到Windows,Linux,Mac(簡單,不執行紀律) 有一些要求可以滿足您的需求:
我強烈建議強制執行足夠的規則來拯救自己:部署到開發服務器,允許向上遷移和簡單的數據庫恢復,並限制誰可以將實時服務器更新為少量負責的管理員(dev服務器開放的地方)更多開發人員)。 還可以考慮通過cron作業(到開發服務器)進行推送,因此每天都有一個增量更改快照。
大多數時候,我發現svn
或rsync
設置都足夠了,有一些服務器端腳本,特別是當管理員設置僅限於少數開發人員時。
這可能會聽起來很愚蠢,但...我曾經有過這樣的問題,所有的時間,直到我最終決定,如果我總是在Linux上部署 ,我真的應該至少嘗試也可以在Linux 開發 。 我做到了。 它沒有疼痛。 我再也沒有回去過。
現在。 我並不是說這適合每個人。 但是,如果您安裝VirtualBox ,則可以在Windows機器上將Linux安裝作為本地服務器運行。 在虛擬機中共享一個文件夾,您可以使用所有已知和可信賴的Windows軟件和技術, 並且知道一切都在其目標平台上運行良好。
此外,您還可以回到Capistrano(一個很好的選擇)進行部署。
最重要的是,如果你認為你知道Linux / Unix等到你每天在桌面上使用它! 誰知道你甚至可能喜歡它:)
Capistrano是我見過的最好的部署工具。 架構更改是否無法修復配置,以便再次運行?
為什么你不能再使用capistrano了?
為什么你不喜歡svn-update?
您的應用中的哪些內容需要特殊部署?
您可以在配置文件上設置svn:ignore
屬性,以便svn update
不會刪除它們,然后使用svn export /target/path/
來刪除Subversion存儲庫中的.svn
文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.