Run Release
When to apply
- •The user asks to release, ship, publish, or cut a new version.
- •The user says "bump the version" or "push a release".
- •The user wants to build and push a Docker image for a new version.
What to do
Run the release script from the project root:
bash
./scripts/release.sh [flags]
Flags
| Flag | Effect |
|---|---|
| (none) | Bump version, export DB, build+push Docker image, git commit+tag+push, deploy to EC2 |
--db | Also SCP the DB dump to EC2 and import it |
--windows | Also build the Windows package and zip |
--skip-deploy | Build and push only, skip EC2 deployment |
Choosing flags
- •Default (no flags) is the most common case.
- •Ask the user if they want
--db,--windows, or--skip-deployonly if their request is ambiguous. If they say "release" with no qualifiers, run with no flags. - •If the user explicitly mentions deploying the database, add
--db. - •If the user says "don't deploy" or "build only", add
--skip-deploy.
Prerequisites
- •
release.configmust haveLISTYYY_IMAGEset (already configured in this project). - •
.envmust haveEC2_PEMandEC2_HOSTfor deployment (already configured). - •Docker must be running locally.
- •The script has interactive prompts for missing config on first run that won't work in a non-interactive shell—if config is missing, tell the user to set the values in
release.configor.envfirst.
Important
- •Run from the project root so relative paths resolve correctly.
- •The script bumps the minor version automatically (e.g. 0.2.0 -> 0.3.0). Do not bump the version manually before running.
- •The script will
git commit,git tag, andgit pushautomatically. Warn the user that uncommitted changes outside of VERSION/pom.xml/package.json should be committed or stashed first. - •Use
block_until_ms: 0when running in shell—the Docker build can take minutes. Monitor the terminal output to report progress and final status.