一個完整的 ubuntu 開發鏡像
不用擔心開發環境被污染
確保開發人員 co-work 時可以一致的環境,不會出現 “我這邊可以你那邊不行的狀況”
Ubuntu 16.04
Git PHP 7.1
Nginx
MySQL
MariaDB
Sqlite3
Postgres
Composer
Node (With Yarn, Bower, Grunt, and Gulp) Redis
Memcached
Beanstalkd
Mailhog
ngrok
想像一下你開用 MAC 裡面再開一台 ubuntu 而且這個 ubuntu 裡面還掛了一堆組件。
你要額外裝底層包你要很了 ubuntu,雖然沒問題但是還是成本。
如果缺少 extension 必須自己找包
意思就是它不像 Homestead 一樣包山包海。
用 homebrew 安裝
PHP7.1(latest version.)
MySQL 5.7(latest version.)
$ composer global require laravel/valet
$ valet install
https://github.com/laravel/valet
$ mkdir ~/Sites
$ cd ~
切到 user 根目錄下
建立 folder,這邊可以自己定義
(不過建議還是 Site,homestead 是 Code)
$ cd Sites
進到 Site
然後帕克
$ valet park
你要蓋其他的也可以,只要 link 好就好了。
https://laravel.com/docs/5.4/valet
$ laravel new blog
等等!這指令從哪來的?
https://laravel.com/docs/5.4/installation
$ composer create-project --prefer-dist laravel/laravel blog
composer 的方式也 OK !
這樣做的話跟你用 docker, image 對應 port IP 劫持域名差別在哪?
好吧,他其實是透過 Dnsmasq 這個搞定的,有興趣再深入研究吧。
https://zh.wikipedia.org/wiki/Dnsmasq
以剛剛的例子來說:blog.dev
blog.dev //web
api.blog.dev //api
<?php
....
protected function mapApiRoutes()
{
Route::middleware('api')
//跟 laravel 說你要他是 subdomain, 也可以寫成 'api.' . env('APP_URL')
->domain('api.blog.dev')
->namespace($this->namespace)
->group(base_path('routes/api.php'));
}
$ valet link api.blog
$ valet share
$ valet secure blog
btw, 他有 nightly version.
https://sequelpro.com/test-builds
看 json 格式的文本賞心悅目