首先,讓我們在Home資料夾下,將 Laradock 下載下來:
cd ~ && git clone <https://github.com/Laradock/laradock.git> Laradock
將 Laradock 下載回來後,切換到 Laradock 資料夾下,從樣板複製一份 .env
檔:
cd ~/Laradock
cp .env.example .env
接著開啟 .env
檔,有幾個Key值需要關注:
APP_CODE_PATH_HOST
:專案資料夾,指向我們的專案目錄,這邊輸入 ../PHPUnit-test
(稍候將在這個地方建立 Laravel 專案)
# Point to the path of your applications code on your host
APP_CODE_PATH_HOST=../PHPUnit-test
DATA_PATH_HOST
:資料路徑,當 Laradock的資料庫容器啟動時,會在這個資料夾下建立相關檔案及資料夾,預設值是 ~/.laradock/data
,基本上保持預設值即可。
# Choose storage path on your machine. For all storage systems
DATA_PATH_HOST=~/.laradock/data
雖然乍看之下,此預設值會在Home資料夾下建立 .laradock
資料夾,但我實際測試時發現,Laradock 會在其所在資料夾下,建立一個名為 ~
的資料夾,或許是一個神奇的Bug?
PHP_VERSION
:PHP版本號,預設為 8.0
,這裡我們保持預設值
### PHP Version ###########################################
# Select a PHP version of the Workspace and PHP-FPM containers (Does not apply to HHVM).
# Accepted values: 8.0 - 7.4 - 7.3 - 7.2 - 7.1 - 7.0 - 5.6
PHP_VERSION=8.0
在 ~/Laradock
目錄下,輸入以下指令,啟動 workspace
容器:
#~/Laradock
docker-compose up -d workspace
workspace
容器是 Laradock 的一個核心容器,可以在這裡執行 composer
,之後我們也將在這個容器內執行 PHPUnit
。
在啟動 workspace
容器的同時, 同時會建立在前面設定的 .env
key值: APP_CODE_PATH_HOST
所指向的資料夾(如果原本就已存在,則不會建立)。
啟動 workspace
容器後,接著我們要進入此容器內進行後續動作。
剛啟動的 workspace
容器,預設名稱是 laradock-workspace-1
,讓我們進入此容器:
docker exec -it laradock-workspace-1 bash
如果執行以上指令時,找不到該容器,顯示 Error: No such container:
時,可先用以下指令查詢已啟動的 Docker 容器:
docker ps -a
進入 workspace
容器後,接著讓我們來初始化專案資料夾吧! (這邊提醒一下,進入容器後,會看到目前所在位置是 /var/www
,對應到本機的路徑就是 ~/PHPUnit-test
,也就是前面 APP_CODE_PATH_HOST
所指向的路徑)
接著我們使用 composer
來初始化 Laravel 專案資料夾:
composer create-project laravel/laravel .
接著就會開始安裝 Laravel 到 ~/PHPUnit-test
資料夾了,這部分會花點時間,可以去泡杯咖啡再回來。
泡完咖啡後,差不多也完成了,應該會到類似以下截圖的畫面:
在初始化 Laravel 專案時,會一併安裝 PHPUnit
,讓我們來測試一下:
./vendor/bin/phpunit
剛裝好的 PHPUnit ,已預寫好2個測試,因此應該會看到類似以下截圖的畫面:
到這邊,我們已經完成環境建置了,給自己一個鼓勵吧!
下一篇來撰寫第一個測試。
如果您喜歡這篇文章,歡迎加入追蹤以接收新文章通知 😄