使用git遷移Laravel專案至新開發環境的步驟詳解
對於如何建立一個Laravel專案,相信對新接觸Laravel的朋友並不存在太多的問題,但是今天我們要來看一下如何將已有的Laravel專案遷移(複製)到新的開發環境。
我們需要用到的工具是git,如果你不知道git是什麼,這裡有一個傳送門,看完之後再回來:
http://github.com
簡單說來,git就是Github開發的VCS(Version Control System),即版本控制系統。如果你使用過SVN,那麼你應該很清楚版本控制是什麼。
本文的示例環境是Ubuntu 16.04 LTS,Windows的朋友可以在Git bash下進行操作。
為了便於理解和操作,我會在本地系統環境下進行演示,如果專案在伺服器端也沒關係,我在文中會提到具體操作。
假設我們已經建立好了一個專案,專案地址為/home/eagle/webdev/example,
我們先來講解一下整體步驟:
- 在專案資料夾中初始化Git並將所有專案檔案新增至working tree。
- 使用git clone命令克隆專案至新地址。
- 配置Laravel並重新安裝dependencies
步驟很明確,那麼我們就開始。
首先我們進入本地專案資料夾,初始化git:
$ cd /home/eagle/webdev/example $ git init $ git add . $ git commit -m "initial commit"
這樣一來,我們就可以使用git clone來拷貝我們的專案了:
$ git clone /home/eagle/webdev/example /home/eagle/webdev/new_location
完成後,我們的專案就順利被遷移至了新的資料夾中。
那麼如果我們的專案檔案不在本地呢,而在遠端伺服器呢?
這裡我們分為兩種情況。
第一,如果你使用了Github的Repository,那麼你的專案地址類似於以下地址
https://github.com/eagle/example.git
那麼我們要克隆專案的話,可以直接使用以上地址:
$ git clone https://github.com/eagle/example
第二種情況,我們用了自己的伺服器部署Git Server。這種情況稍微複雜一點,我們需要獲取伺服器的公共ip(public address)。假設我的伺服器公網ip是50.100.150.260,我的專案地址為/srv/git/example.git,那麼我們要克隆專案,需要使用以下地址:
[email protected]:/srv/git/example.git
注意這裡git是我們在部署Git Server時所建立專門用於git的使用者。
克隆命令並沒有變化:
$ git clone [email protected]:/srv/git/example.git
只是地址變更了而已。
好了,那麼我們克隆完成之後,我們就需要進行下一步了。
首先我們需要先執行
$ composer install
來安裝專案需求的包裹。因為在git clone時,位於vendor資料夾下的包裹將不會被拷貝,所以我們需要重新安裝這些包裹。
完成之後,我們需要建立.env環境檔案。
可能你已經注意到,我們新建Laravel專案的時候,.env檔案將自動被建立在專案根目錄下。但是這個檔案是用於不同環境下專案配置的,所以在git clone時這個檔案同樣不會被拷貝至新路徑。
好在Laravel自帶了一個.env檔案的樣本,來提供我們一個基礎的配置模板:
$ cp .env.example .env
現在我們有了.env環境配置檔案,我們需要生成新的app key:
$ php artisan key:generate
接下來開啟.env檔案,你會發現APP_KEY一行已經自動填入了我們剛剛生成的key。
接下來我們將資料庫資訊填入相應的位置:
[...]
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=eagle
DB_USERNAME=homestead
DB_PASSWORD=secret
[...]
我們看到,DB_DATABASE一行,我們填入該環境下資料庫名稱,DB_USERNAME及DB_PASSWORD一行,我們分別填入管理該資料庫的使用者名稱和密碼。
好了,現在我們儲存檔案。如果你有資料庫遷移檔案(migration),那麼現在可以執行
$ php artisan migrate
來進行資料庫的遷移,如果有種子檔案(seeder)的話,繼續執行
$ php artisan db:seed
進行seeding即可。
當然以上兩個命令可以合併:
$ php artisan migrate --seed
注意,原始專案資料庫裡除了使用seeder生成的資料仍然需要自行拷貝至新的資料庫。
好了,這樣一來我們後端的配置就完成了,如果你用了Laravel Mix來編譯前端檔案,那麼你還需要
$ npm install
注意:Windows環境下請執行npm install --save-dev --no-bin-links
最後要說的一點,如果你是遷移到伺服器環境下,那麼你需要將storage資料夾及其包含的檔案進行許可權的調整:
$ chown -R www-data: storage
否則可能出現相應許可權的錯誤。具體的許可權調整請根據你環境的具體情況進行。
好了,現在我們已經成功地將Laravel遷移至了新的開發環境!
本文主地講解了如何使用git遷移Laravel專案至新開發環境的步驟詳解,更多關於Laravel框架的使用技巧請檢視下面的相關連結