您好,登錄后才能下訂單哦!
這篇文章主要講解了“怎么用git遷移Laravel項(xiàng)目至新開發(fā)環(huán)境”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“怎么用git遷移Laravel項(xiàng)目至新開發(fā)環(huán)境”吧!
Laravel 是一套簡(jiǎn)潔、優(yōu)雅的PHP Web開發(fā)框架。它可以讓你從面條一樣雜亂的代碼中解脫出來(lái);它可以幫你構(gòu)建一個(gè)完美的網(wǎng)絡(luò)APP,而且每行代碼都可以簡(jiǎn)潔、富于表達(dá)力。
我們需要用到的工具是git,如果你不知道git是什么,這里有一個(gè)傳送門,看完之后再回來(lái):
http://github.com
簡(jiǎn)單說(shuō)來(lái),git就是Github開發(fā)的VCS(Version Control System),即版本控制系統(tǒng)。如果你使用過(guò)SVN,那么你應(yīng)該很清楚版本控制是什么。
本文的示例環(huán)境是Ubuntu 16.04 LTS,Windows的朋友可以在Git bash下進(jìn)行操作。
為了便于理解和操作,我會(huì)在本地系統(tǒng)環(huán)境下進(jìn)行演示,如果項(xiàng)目在服務(wù)器端也沒(méi)關(guān)系,我在文中會(huì)提到具體操作。
假設(shè)我們已經(jīng)創(chuàng)建好了一個(gè)項(xiàng)目,項(xiàng)目地址為/home/eagle/webdev/example,
我們先來(lái)講解一下整體步驟:
在項(xiàng)目文件夾中初始化Git并將所有項(xiàng)目文件添加至working tree。
使用git clone命令克隆項(xiàng)目至新地址。
配置Laravel并重新安裝dependencies
步驟很明確,那么我們就開始。
首先我們進(jìn)入本地項(xiàng)目文件夾,初始化git:
$ cd /home/eagle/webdev/example $ git init $ git add . $ git commit -m "initial commit"
這樣一來(lái),我們就可以使用git clone來(lái)拷貝我們的項(xiàng)目了:
$ git clone /home/eagle/webdev/example /home/eagle/webdev/new_location
完成后,我們的項(xiàng)目就順利被遷移至了新的文件夾中。
那么如果我們的項(xiàng)目文件不在本地呢,而在遠(yuǎn)端服務(wù)器呢?
這里我們分為兩種情況。
第一,如果你使用了Github的Repository,那么你的項(xiàng)目地址類似于以下地址
https://github.com/eagle/example.git
那么我們要克隆項(xiàng)目的話,可以直接使用以上地址:
$ git clone https://github.com/eagle/example
第二種情況,我們用了自己的服務(wù)器部署Git Server。這種情況稍微復(fù)雜一點(diǎn),我們需要獲取服務(wù)器的公共ip(public address)。假設(shè)我的服務(wù)器公網(wǎng)ip是50.100.150.260,我的項(xiàng)目地址為/srv/git/example.git,那么我們要克隆項(xiàng)目,需要使用以下地址:
git@50.100.150.260:/srv/git/example.git
注意這里git是我們?cè)诓渴餑it Server時(shí)所創(chuàng)建專門用于git的用戶。
克隆命令并沒(méi)有變化:
$ git clone git@50.100.150.260:/srv/git/example.git
只是地址變更了而已。
好了,那么我們克隆完成之后,我們就需要進(jìn)行下一步了。
首先我們需要先運(yùn)行
$ composer install
來(lái)安裝項(xiàng)目需求的包裹。因?yàn)樵趃it clone時(shí),位于vendor文件夾下的包裹將不會(huì)被拷貝,所以我們需要重新安裝這些包裹。
完成之后,我們需要?jiǎng)?chuàng)建.env環(huán)境文件。
可能你已經(jīng)注意到,我們新建Laravel項(xiàng)目的時(shí)候,.env文件將自動(dòng)被創(chuàng)建在項(xiàng)目根目錄下。但是這個(gè)文件是用于不同環(huán)境下項(xiàng)目配置的,所以在git clone時(shí)這個(gè)文件同樣不會(huì)被拷貝至新路徑。
好在Laravel自帶了一個(gè).env文件的樣本,來(lái)提供我們一個(gè)基礎(chǔ)的配置模板:
$ cp .env.example .env
現(xiàn)在我們有了.env環(huán)境配置文件,我們需要生成新的app key:
$ php artisan key:generate
接下來(lái)打開.env文件,你會(huì)發(fā)現(xiàn)APP_KEY一行已經(jīng)自動(dòng)填入了我們剛剛生成的key。
接下來(lái)我們將數(shù)據(jù)庫(kù)信息填入相應(yīng)的位置:
[...]
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=eagle
DB_USERNAME=homestead
DB_PASSWORD=secret
[...]
我們看到,DB_DATABASE一行,我們填入該環(huán)境下數(shù)據(jù)庫(kù)名稱,DB_USERNAME及DB_PASSWORD一行,我們分別填入管理該數(shù)據(jù)庫(kù)的用戶名和密碼。
好了,現(xiàn)在我們保存文件。如果你有數(shù)據(jù)庫(kù)遷移文件(migration),那么現(xiàn)在可以運(yùn)行
$ php artisan migrate
來(lái)進(jìn)行數(shù)據(jù)庫(kù)的遷移,如果有種子文件(seeder)的話,繼續(xù)運(yùn)行
$ php artisan db:seed
進(jìn)行seeding即可。
當(dāng)然以上兩個(gè)命令可以合并:
$ php artisan migrate --seed
注意,原始項(xiàng)目數(shù)據(jù)庫(kù)里除了使用seeder生成的數(shù)據(jù)仍然需要自行拷貝至新的數(shù)據(jù)庫(kù)。
好了,這樣一來(lái)我們后端的配置就完成了,如果你用了Laravel Mix來(lái)編譯前端文件,那么你還需要
$ npm install
注意:Windows環(huán)境下請(qǐng)運(yùn)行npm install --save-dev --no-bin-links
最后要說(shuō)的一點(diǎn),如果你是遷移到服務(wù)器環(huán)境下,那么你需要將storage文件夾及其包含的文件進(jìn)行權(quán)限的調(diào)整:
$ chown -R www-data: storage
否則可能出現(xiàn)相應(yīng)權(quán)限的錯(cuò)誤。具體的權(quán)限調(diào)整請(qǐng)根據(jù)你環(huán)境的具體情況進(jìn)行。
好了,現(xiàn)在我們已經(jīng)成功地將Laravel遷移至了新的開發(fā)環(huán)境!
感謝各位的閱讀,以上就是“怎么用git遷移Laravel項(xiàng)目至新開發(fā)環(huán)境”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)怎么用git遷移Laravel項(xiàng)目至新開發(fā)環(huán)境這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。