* build(deps): bump actions/setup-java from 4 to 5 Bumps [actions/setup-java](https://github.com/actions/setup-java) from 4 to 5. - [Release notes](https://github.com/actions/setup-java/releases) - [Commits](https://github.com/actions/setup-java/compare/v4...v5) --- updated-dependencies: - dependency-name: actions/setup-java dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * build(deps): bump org.springdoc:springdoc-openapi-starter-webmvc-ui Bumps [org.springdoc:springdoc-openapi-starter-webmvc-ui](https://github.com/springdoc/springdoc-openapi) from 2.8.9 to 2.8.11. - [Release notes](https://github.com/springdoc/springdoc-openapi/releases) - [Changelog](https://github.com/springdoc/springdoc-openapi/blob/main/CHANGELOG.md) - [Commits](https://github.com/springdoc/springdoc-openapi/compare/v2.8.9...v2.8.11) --- updated-dependencies: - dependency-name: org.springdoc:springdoc-openapi-starter-webmvc-ui dependency-version: 2.8.11 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * feat: client versions bump * feat: angular versions bump * docs: add commands to upgrade dependencies --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
3.4 KiB
3.4 KiB
Tools
All kind of tools and useful links and commands can be found here!
Links
- GitHub Container Registry: https://ghcr.io/
- Time tracking: https://track.toggl.com/timer
Building locally
Tasknote-web - Frontend Web App:
Before building, you need define some env vars:
export VITE_BUILD=<branch-name-and-PR-number>
Then you can call the install and build scripts (from the client folder):
npm ci --ignore-scripts --no-update-notifier --omit=dev \
&& npm run build \
&& rm -rf node_modules
If you want to build with Docker:
docker build --no-cache \
--build-arg VITE_BUILD="v999-$(date '+%Y-%m-%d-%H%M%S')" \
--build-arg SOURCE_PR="v999-123456789-$(date '+%Y-%m-%d-%H%M%S')" \
-t tasknote-web:candidate \
./client
That's it!
Tasknote-api - Backend REST API:
For the backend there's a Dockerfile ready, just run (from the project root):
docker build --no-cache \
--build-arg BUILD="v999-$(date '+%Y-%m-%d-%H%M%S')" \
--build-arg SOURCE_PR="v999-123456789-$(date '+%Y-%m-%d-%H%M%S')" \
-t tasknote-api:candidate \
./server
That's it!
Running with Docker
DB:
docker run -d -p 5432:5432 --rm \
--name db \
-e POSTGRES_DB=$POSTGRES_DB \
-e POSTGRES_USER=$POSTGRES_USER \
-e POSTGRES_PASSWORD=$POSTGRES_PASSWORD \
postgres:15.8-bookworm
Tasknote-api:
docker run -d -p 8585:8585 --rm \
--name tasknote-api \
-e POSTGRES_DB=$POSTGRES_DB \
-e POSTGRES_USER=$POSTGRES_USER \
-e POSTGRES_PASSWORD=$POSTGRES_PASSWORD \
-e POSTGRES_PORT=$POSTGRES_PORT \
-e POSTGRES_HOST=$POSTGRES_HOST \
-e CORS_ALLOWED_ORIGINS=$CORS_ALLOWED_ORIGINS \
ghcr.io/ricardo-campos-org/react-typescript-todolist/tasknote-api:<PR-Number>
Build Cloud Native: ./mvnw -B package -Pnative -DskipTests
Tasknote-web:
The frontend app will run on Nginx.
Interacting with GitHub Package and Container Registry
Login in:
export CR_PAT=YOUR_TOKEN
echo $CR_PAT | docker login ghcr.io -u RMCampos --password-stdin
Pulling images:
docker pull ghcr.io/ricardo-campos-org/react-typescript-todolist/tasknote-web:50
docker pull ghcr.io/ricardo-campos-org/react-typescript-todolist/tasknote-api:50
Pushing images:
docker push ghcr.io/ricardo-campos-org/react-typescript-todolist/tasknote-api:316
- Get container IP
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' db
- Get reason of health check failing on a container
docker inspect --format "{{json .State.Health}}" container_name_or_id | jq
# Or to see it live
while true; do clear; docker inspect --format "{{json .State.Health}}" tasknote-api | jq; sleep 1; done
- Extract Env value from docker image (without running)
docker inspect tasknote-web:candidate | jq -r '.[0].Config.Env[] | select(startswith("SOURCE_PR="))' | sed -n 's/SOURCE_PR=\(v[0-9]*\).*/\1/p'
Restoring DB for testing
docker run \
--name my-postgres-db \
-e POSTGRES_USER="<user>" \
-e POSTGRES_PASSWORD='<password>' \
-e POSTGRES_DB="<db-name>" \
-p 5432:5432 \
-d postgres
docker exec -i my-postgres-db pg_restore -U <user> -d <db-name> < 2025-04-26T20_00_00.114Z.sql
Updating packages
Node packages:
- npm install -g npm-check-updates
- Then run
ncuandncu -u
Angular dependencies:
- First run:
npx @angular/cli update @angular/cli @angular/core - Then run
npx npm-check-updates -u