簡體   English   中英

PHP部署到windows / unix服務器

[英]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種不同的方法:

  1. Capistrano和類似工具(有效,但復雜)
  2. 從+到Windows,Linux,Mac的rsync (簡單,不強制執行紀律)
  3. svn從+到Windows,Linux,Mac(簡單,不執行紀律)
  4. 服務器上腳本(通過瀏覽器運行,復雜)

有一些要求可以滿足您的需求:

  • 你想要執行多少紀律
  • 如果需要數據庫(或配置)遷移(向上和/或向下)
  • 如果你想要一個靜態的“我們關閉”頁面
  • 誰可以進行更新
  • 服務器之間的配置差異

我強烈建議強制執行足夠的規則來拯救自己:部署到開發服務器,允許向上遷移和簡單的數據庫恢復,並限制誰可以將實時服務器更新為少量負責的管理員(dev服務器開放的地方)更多開發人員)。 還可以考慮通過cron作業(到開發服務器)進行推送,因此每天都有一個增量更改快照。

大多數時候,我發現svnrsync設置都足夠了,有一些服務器端腳本,特別是當管理員設置僅限於少數開發人員時。

這可能會聽起來很愚蠢,但...我曾經有過這樣的問題,所有的時間,直到我最終決定,如果我總是在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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM