init-engineer / init.engineer

這是一份純靠北工程師的專案,請好好愛護它,謝謝。
https://init.engineer
MIT License
650 stars 41 forks source link

Feature/fordev #113

Open hanshino opened 2 years ago

hanshino commented 2 years ago

Docker 啟動方式建置

為了讓更多協作者,不會因為初次架設純靠系統環境而被勸退 因次開啟本次 issue #109 來協助希望一起開發的協作者迅速架設起本系統

備註:此次專注於協助在本地端架設系統,並不適合作為正式環境佈署使用

使用說明

相依套件安裝

Linux

bash scripts/setup.sh

Windows

待補

啟動系統

初次啟動打包 image

docker-compose build

啟動所有服務

docker-compose up -d

初次執行本系統

如果為初次架設起本系統,請執行以下腳本,將會執行

  1. Laravel app key 的產生
  2. 資料庫的 migration
bash scripts/init.sh

實用指令

資料庫 Migration

當其他開發者有資料庫的欄位異動,可執行本指令,將資料庫欄位更新至最新

docker-compose exec app php artisan migrate

artisan 相關操作

需透過 Laravelartisan 進行相關操作皆可透過以下指令存取 並且在後方加入想執行的參數即可

docker-compose exec app php artisan

套件安裝

docker-compose exec app composer require foo/bar

單元測試

docker-compose exec app php artisan test
tico88612 commented 2 years ago

關心一下 @hanshino 進度如何(X)

hanshino commented 2 years ago

我覺得還是轉成 ready 會比較好XD 本來想說如果還有要新增修改的用 draft 才能避免直接被 merge

tico88612 commented 2 years ago

@hanshino 抱歉,晚 review 了,我稍微初步 Check 過了,但有些問題

  1. scripts 的檔案沒有 execute 權限,需要補權限 chmod +x ./scripts/init.sh && chmod +x ./scripts/setup.sh 再 commit 上去。
  2. scripts 的換行格式好像都是 Windows 的(\r\n),需要改成 Linux 格式(\n),不然無法正常使用(WSL 2 測試)。使用 vim 可以 :set fileformat=unix 再存檔即可。

目前我看到問題是這樣,如果有其他問題我會再留言回覆的。 如果不介意的話,也可以開權限給我一起修改,感謝!

hanshino commented 2 years ago

使用 laradock 架設純靠北工程師

前置動作

laradock clone 至自己的電腦

git clone https://github.com/Laradock/laradock.git

init.engineer clone 至自己的電腦

git clone https://github.com/init-engineer/init.engineer

檔案配置如下:

.
├── laradock
└── init.engineer

laradock 配置

以下動作請都在 laradock 目錄下執行:

環境配置

啟動 laradock

docker-compose up -d nginx mysql phpmyadmin redis workspace

or 你使用比較新版的 docker

docker compose up -d nginx mysql phpmyadmin redis workspace

如果初次啟動的話,這個步驟會經過很長一段時間的環境建置,請耐心等待


init.engineer 配置

以下動作請都在 init.engineer 目錄下執行:

環境配置

套件安裝

docker exec -it laradock_workspace_1 bash

如果看到 root@d4dec0b360c7:/var/www# 的訊息,代表已經進入到 container

composer install

建立 Laravel App Key

此步驟一樣在 workspace container 中執行

php artisan key:generate

建立 Laravel 資料庫

php artisan migrate:fresh --seed

前端設置

npm install
npm run production

恭喜你,你已經完成了純靠北工程師的專案的建置。 enjoy!


補充說明

laradock 的資料庫檔案會存放在哪呢?

可以參考 laradock 中的 .env 設定的 DATA_PATH_HOST 參數,他預設的路徑會是 ~/.laradock/data

基於這個原因可以補充一下,如果不小心在還未設定好資料庫配置的情況下,就啟動了所有服務,因為 mysql 在初次啟動的時候就會進行配置,這時候就算你將 MYSQL_USER 相關參數做調整,也是無法成功生效的,因此,這種時候需要將原本的資料庫檔案刪除,讓 mysql 重新啟動後,再一次地進行初次配置。

操作如下:

docker-compose down -v 
rm -rf ~/.laradock/data
hanshino commented 2 years ago

https://github.com/init-engineer/init.engineer/pull/113#issuecomment-1172919925

因為最近用了 laradock 的關係,發現其實別人做好的比較完整 因此寫了一份教學文件來讓大家參考一下,哪一種會比較適合這個專案!

@tico88612 再麻煩過目了~