Deploy the SES Toolbox to laguna.ku.lt — runs pre-deploy checks, SCPs changed files, and verifies the deployment is live
Deploy the MarineSABRES SES Toolbox to the Shiny Server at laguna.ku.lt.
--full — Deploy all app files (default: only changed files since last commit)--data-only — Deploy only data/ directory (KB files, templates)--skip-checks — Skip pre-deploy validation (use with caution)--dry-run — Show what would be deployed without actually deployingRun the pre-deploy check:
Rscript deployment/pre-deploy-check.R
If it fails, stop and report. Do NOT proceed with deployment.
Also check for uncommitted changes:
git status --short
Warn if uncommitted changes exist — they won't be deployed.
If --full: Deploy the entire app:
app.R global.R constants.R DESCRIPTION
modules/*.R functions/*.R server/*.R
data/*.json data/*.R
translations/**/*.json
If --data-only: Deploy only:
data/*.json data/*.R
Default (changed files): Use git to find what changed:
git diff --name-only HEAD~1 -- . | grep -v '^\.'
Filter to deployable files only (R, JSON, CSV — not tests, scripts, docs, screenshots).
The server target is: [email protected]:/srv/shiny-server/marinesabres/
For each file, preserve the directory structure:
scp <local-path> [email protected]:/srv/shiny-server/marinesabres/<relative-path>
Report each file as it's deployed.
Check the server is responding:
ssh [email protected] "ls -la /srv/shiny-server/marinesabres/app.R && curl -s -o /dev/null -w '%{http_code}' http://localhost:3838/marinesabres/"
Report:
## Deployment Summary
- Files deployed: N
- Target: [email protected]:/srv/shiny-server/marinesabres/
- Pre-deploy check: PASS/FAIL
- Server status: HTTP XXX
- Uncommitted changes: YES/NO