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 fmt
|
||||||
cargo clippy --fix --allow-dirty --allow-staged
|
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