diff --git a/.gitea/workflows/build.yaml b/.gitea/workflows/build.yaml new file mode 100644 index 0000000..301059e --- /dev/null +++ b/.gitea/workflows/build.yaml @@ -0,0 +1,26 @@ +name: Build and push Docker image +on: push +# pull_request: +# types: +# - closed +# branches: +# - main +jobs: + build: + runs-on: remote + steps: + - name: Checkout + uses: https://git.simonis.lol/actions/checkout@v4 + + - name: Build + run: docker buildx build -f frontend/.docker/Dockerfile -t git.simonis.lol/projects/casino:frontend-latest frontend + + - name: Login + uses: https://git.simonis.lol/actions/login@v1 + with: + registry: git.simonis.lol + username: ${{ vars.DOCKER_USER }} + password: ${{ vars.DOCKER_PW }} + + - name: Push + run: docker push git.simonis.lol/projects/casino:frontend-latest diff --git a/frontend/.docker/Dockerfile b/frontend/.docker/Dockerfile new file mode 100644 index 0000000..6d7aeb2 --- /dev/null +++ b/frontend/.docker/Dockerfile @@ -0,0 +1,15 @@ +FROM oven/bun:latest AS build +WORKDIR /app + +ENV NODE_ENV=production + +COPY .. . +RUN bun install --prod +RUN bun run build + +FROM oven/bun:latest AS prod +WORKDIR /app + +COPY --from=build /app /app + +CMD ["bun", "run", "start"] diff --git a/frontend/.dockerignore b/frontend/.dockerignore new file mode 100644 index 0000000..97e8899 --- /dev/null +++ b/frontend/.dockerignore @@ -0,0 +1,5 @@ +.angular +node_modules +dist +.git +.docker diff --git a/frontend/docker/docker-compose.yml b/frontend/docker/docker-compose.yml deleted file mode 100644 index a83a1d8..0000000 --- a/frontend/docker/docker-compose.yml +++ /dev/null @@ -1,31 +0,0 @@ -version: '3' - -volumes: - employee_postgres_data: - driver: local - -services: - postgres-employee: - container_name: postgres_employee - image: postgres:13.3 - volumes: - - employee_postgres_data:/var/lib/postgresql/data - environment: - POSTGRES_DB: employee_db - POSTGRES_USER: employee - POSTGRES_PASSWORD: secret - ports: - - "5432:5432" - - employee: - container_name: employee - image: berndheidemann/employee-management-service:1.0.4 - # image: berndheidemann/employee-management-service_without_keycloak:1.1 - environment: - spring.datasource.url: jdbc:postgresql://postgres-employee:5432/employee_db - spring.datasource.username: employee - spring.datasource.password: secret - ports: - - "8089:8089" - depends_on: - - postgres-employee diff --git a/frontend/package.json b/frontend/package.json index 962c3f0..0e1c9e8 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -4,7 +4,7 @@ "scripts": { "ng": "bunx @angular/cli", "start": "bunx @angular/cli serve --proxy-config src/proxy.conf.json", - "build": "bunx @angular/cli build", + "build": "bunx @angular/cli build --no-watch", "watch": "bunx @angular/cli build --watch --configuration development", "test": "bunx @angular/cli test", "format": "prettier --write \"src/**/*.{ts,html,css,scss}\"",