2014-11-22 271 views
0

我是Laravel,Laravel Homestead,Composer以及與將更改提交到Git存儲庫然後將這些更改提交到開發/生產服務器相關聯的開發工作流程的新手。到目前爲止,經過多次試驗和錯誤,我已經設法:Laravel,作曲家,Git工作流程

  1. 設置我的本地Homestead環境與vagrant。
  2. 創建一個新的Laravel應用
  3. 運行作曲到應用程序在本地下載依賴
  4. 訪問。
  5. 爲我的應用程序創建一個Git存儲庫,提交更改並推送到原始主分支。
  6. 克隆我的遠程服務器(共享主機上的1and1)的存儲庫和拉變遷論。

很長一段時間,我不明白爲什麼當我把修改到遠程站點,我會得到PHP錯誤,但本地站點運行得很好。事實上,Laravel .gitignore文件忽略了Laravel需要運行的/vendor目錄。一些Google-fu搜索表明有些人在他們的生產服務器上運行了composer update /(composer install?)。 (我沒有訪問我的共享主機服務器上的作曲家,所以我無法做到這一點)

我對社區的問題 - 你覺得對我的情況最好的工作流程是什麼?從.gitignore文件中刪除/供應商目錄?還有別的嗎?

回覆非常感謝。

回答

1

它看起來像你使用GIT作爲部署工具,我不認爲這是一個好主意。

Composer更新/安裝僅用於管理依賴關係。有些服務器不允許你從控制檯運行腳本或運行它們很複雜。在這種情況下,您可以在部署之前在本地運行Composer,並將您的代碼發送到具有所有依賴項的服務器。

下面是一些設計工作流程時,你應該記住:

  1. 使用git保持源代碼和配置
  2. 使用作曲家管理依賴條件(下載依賴should't在GIT存儲庫中受版本控制。供應商目錄及其相關事項也是依賴關係)
  3. 對於部署,使用其中一個部署工具,例如, https://github.com/rocketeers/rocketeer
+0

謝謝你的建議,我會看看火箭人。 – user2710915 2014-11-22 15:45:10

1

使用-f標誌在使用git add時強制包含供應商目錄。

0

你在這裏正確的軌道,許多人會做你在做什麼。

當您進行多個服務器部署(負載平衡,自動縮放)時,真正的麻煩來了。

通常我看到的是一個shell腳本,只要發生某些事情需要運行這些命令,就會包含並運行該腳本。

這個shell腳本的內部將是每次啓動新服務器實例時要完成的命令。

您也可以在單個服務器環境中使用多種工具來執行此操作。

我可能會研究像Travis CI,Jenkins等持續集成工具。如果這是您的主要頭痛。

否則,它可能是矯枉過正....然後只是繼續做你在做什麼。

將vendor目錄添加到您的git repo違反了最佳實踐。

這也涉及到網絡掛接一個不錯的選擇: http://losstopschade.de/post/96967373358