feat: add installer script and CI configuration for deployment modes
This commit is contained in:
49
.github/workflows/ci.yml
vendored
49
.github/workflows/ci.yml
vendored
@@ -102,6 +102,55 @@ jobs:
|
||||
backend/coverage.xml
|
||||
frontend/coverage/**
|
||||
|
||||
installer:
|
||||
runs-on: ubuntu-latest
|
||||
needs: [check]
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Validate installer shell syntax
|
||||
run: bash -n install.sh
|
||||
|
||||
- name: Installer smoke test (docker mode)
|
||||
run: |
|
||||
./install.sh \
|
||||
--mode docker \
|
||||
--backend-port 18000 \
|
||||
--frontend-port 13000 \
|
||||
--public-host localhost \
|
||||
--api-url http://localhost:18000 \
|
||||
--token-mode generate
|
||||
curl -fsS http://127.0.0.1:18000/healthz >/dev/null
|
||||
curl -fsS http://127.0.0.1:13000 >/dev/null
|
||||
|
||||
- name: Cleanup docker stack after docker mode
|
||||
if: always()
|
||||
run: |
|
||||
docker compose -f compose.yml --env-file .env down -v --remove-orphans || true
|
||||
|
||||
- name: Installer smoke test (local mode)
|
||||
run: |
|
||||
./install.sh \
|
||||
--mode local \
|
||||
--backend-port 18001 \
|
||||
--frontend-port 13001 \
|
||||
--public-host localhost \
|
||||
--api-url http://localhost:18001 \
|
||||
--token-mode generate \
|
||||
--db-mode docker \
|
||||
--start-services yes
|
||||
curl -fsS http://127.0.0.1:18001/healthz >/dev/null
|
||||
curl -fsS http://127.0.0.1:13001 >/dev/null
|
||||
|
||||
- name: Cleanup local processes and docker resources
|
||||
if: always()
|
||||
run: |
|
||||
if [ -f .install-logs/backend.pid ]; then kill "$(cat .install-logs/backend.pid)" || true; fi
|
||||
if [ -f .install-logs/frontend.pid ]; then kill "$(cat .install-logs/frontend.pid)" || true; fi
|
||||
docker compose -f compose.yml --env-file .env down -v --remove-orphans || true
|
||||
|
||||
e2e:
|
||||
runs-on: ubuntu-latest
|
||||
needs: [check]
|
||||
|
||||
Reference in New Issue
Block a user