chore: add dev/deploy targets to Makefile, deploy.sh
This commit is contained in:
18
Makefile
18
Makefile
@@ -25,4 +25,20 @@ fix:
|
||||
cargo fmt
|
||||
cargo clippy --fix --allow-dirty --allow-staged
|
||||
|
||||
.PHONY: check fmt fmt-check clippy test fix publish
|
||||
# Build the frontend SPA.
|
||||
build-app:
|
||||
cd app && npm run build
|
||||
|
||||
# Run the backend (builds frontend first if needed).
|
||||
dev: build-app
|
||||
JWT_SECRET=dev-secret ALLOW_REGISTRATION=true cargo run -p presentation
|
||||
|
||||
# Run backend only (skip frontend build, assumes build-app was run).
|
||||
dev-api:
|
||||
JWT_SECRET=dev-secret ALLOW_REGISTRATION=true cargo run -p presentation
|
||||
|
||||
# Build and push Docker image to private registry.
|
||||
deploy:
|
||||
./deploy.sh
|
||||
|
||||
.PHONY: check fmt fmt-check clippy test fix build-app dev dev-api deploy
|
||||
|
||||
21
deploy.sh
Executable file
21
deploy.sh
Executable file
@@ -0,0 +1,21 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
REGISTRY="registry.gabrielkaszewski.dev"
|
||||
REPO="pocket-chords"
|
||||
|
||||
tag="latest"
|
||||
|
||||
while [[ $# -gt 0 ]]; do
|
||||
case $1 in
|
||||
--tag) tag="$2"; shift 2 ;;
|
||||
*) echo "usage: $0 [--tag T]" >&2; exit 1 ;;
|
||||
esac
|
||||
done
|
||||
|
||||
image="${REGISTRY}/${REPO}:${tag}"
|
||||
|
||||
echo "building ${image}"
|
||||
docker buildx build --platform linux/amd64 \
|
||||
-t "$image" --push .
|
||||
echo "pushed $image"
|
||||
Reference in New Issue
Block a user