fix: use docker cp to inject source code into container (bypass volume mount issue)
This commit is contained in:
parent
9775c59996
commit
3cacf9d80f
@ -14,14 +14,17 @@ jobs:
|
||||
|
||||
- name: Step 1 - Build & Deploy Containers
|
||||
run: |
|
||||
# 機器人現在是以「容器模式」預設執行的,我需要確保它能操作宿主機 Docker
|
||||
WWWGROUP=1000 WWWUSER=1000 docker compose -f compose.yaml build --no-cache
|
||||
WWWGROUP=1000 WWWUSER=1000 docker compose -f compose.yaml up -d --wait
|
||||
WWWGROUP=1000 WWWUSER=1000 docker compose -f compose.yaml up -d --build --wait
|
||||
|
||||
- name: Step 2 - Composer & NPM & Initialization
|
||||
- name: Step 2 - Deploy Code
|
||||
run: |
|
||||
docker exec -u 1000:1000 -w /var/www/html star-cloud-laravel bash -c "
|
||||
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin &&
|
||||
# Runner 容器模式下,volume mount 無法正確對應宿主機路徑
|
||||
# 使用 docker cp 直接將程式碼注入容器(透過 Docker socket)
|
||||
docker cp . star-cloud-laravel:/var/www/html/
|
||||
|
||||
- name: Step 3 - Composer & NPM & Initialization
|
||||
run: |
|
||||
docker exec -u 1000:1000 -w /var/www/html star-cloud-laravel sh -c "
|
||||
composer install --no-dev --optimize-autoloader --no-interaction &&
|
||||
npm install &&
|
||||
npm run build &&
|
||||
@ -36,5 +39,5 @@ jobs:
|
||||
"
|
||||
docker exec star-cloud-laravel chmod -R 775 /var/www/html/storage /var/www/html/bootstrap/cache
|
||||
|
||||
- name: Step 3 - Cleanup
|
||||
- name: Step 4 - Cleanup
|
||||
run: docker image prune -f
|
||||
|
||||
Loading…
Reference in New Issue
Block a user