1. 程式人生 > 程式設計 >使用git遷移Laravel專案至新開發環境的步驟詳解

使用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,

我們先來講解一下整體步驟:

  1. 在專案資料夾中初始化Git並將所有專案檔案新增至working tree。
  2. 使用git clone命令克隆專案至新地址。
  3. 配置Laravel並重新安裝dependencies

步驟很明確,那麼我們就開始。

首先我們進入本地專案資料夾,初始化git:

$ cd /home/eagle/webdev/example         
$ git init         
$ git add .         
$ git commit -m "initial commit"

使用git遷移Laravel專案至新開發環境的步驟詳解

這樣一來,我們就可以使用git clone來拷貝我們的專案了:

$ git clone /home/eagle/webdev/example /home/eagle/webdev/new_location

完成後,我們的專案就順利被遷移至了新的資料夾中。

使用git遷移Laravel專案至新開發環境的步驟詳解

那麼如果我們的專案檔案不在本地呢,而在遠端伺服器呢?

這裡我們分為兩種情況。

第一,如果你使用了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框架的使用技巧請檢視下面的相關連結