59 lines
1.8 KiB
Markdown
59 lines
1.8 KiB
Markdown
# Deployment Targets
|
|
|
|
## Scenario: Wulanchabu Server Deployment
|
|
|
|
### 1. Scope / Trigger
|
|
|
|
- Trigger: the user asks to deploy this project.
|
|
- Default target: Wulanchabu server, reached through SSH host alias `wlcb1`.
|
|
- This preference is project-specific and should be used for future deployment requests unless the user explicitly names another target.
|
|
|
|
### 2. Signatures
|
|
|
|
- SSH entrypoint: `ssh wlcb1`
|
|
- Repository remote: push code to `origin` before deploying.
|
|
- Database migration command: `pnpm db:migrate`
|
|
- Production build command: `pnpm build`
|
|
|
|
### 3. Contracts
|
|
|
|
- Required environment on the server:
|
|
- `DATABASE_URL` must point to the production PostgreSQL database.
|
|
- Node.js and pnpm must be available.
|
|
- Deployment should run from the server-side checkout for this repository.
|
|
- Code should be pushed to `origin` before server deployment so `wlcb1` deploys committed source.
|
|
|
|
### 4. Validation & Error Matrix
|
|
|
|
- Missing `DATABASE_URL` -> deployment is not healthy; setup/login APIs return database configuration failures.
|
|
- Migration failure -> stop deployment and report the failing migration output.
|
|
- Build failure -> stop deployment and report the failing command output.
|
|
- SSH failure -> report that `wlcb1` could not be reached.
|
|
|
|
### 5. Good/Base/Bad Cases
|
|
|
|
- Good: commit locally, push to `origin`, SSH to `wlcb1`, update checkout, install deps, migrate DB, build, restart app.
|
|
- Base: if the server has a project-specific deploy script, run that script after pushing.
|
|
- Bad: deploy uncommitted local files, deploy to a different host by default, or skip migrations after schema changes.
|
|
|
|
### 6. Tests Required
|
|
|
|
- `pnpm lint`
|
|
- `pnpm type-check`
|
|
- `pnpm build`
|
|
- After deploy, verify the app responds and `/api/auth/bootstrap` returns a structured JSON response.
|
|
|
|
### 7. Wrong vs Correct
|
|
|
|
#### Wrong
|
|
|
|
```bash
|
|
ssh some-other-host
|
|
```
|
|
|
|
#### Correct
|
|
|
|
```bash
|
|
ssh wlcb1
|
|
```
|