Merge branch 'main' into refactor-user-not-found
	
		
			
	
		
	
	
		
	
		
			All checks were successful
		
		
	
	
	
		
	
		
			All checks were successful
		
		
	
	
This commit is contained in:
		
				commit
				
					
						ad5228ce27
					
				
			
		
					 8 changed files with 126 additions and 57 deletions
				
			
		|  | @ -1,25 +0,0 @@ | |||
| name: Deploy | ||||
| on: | ||||
|   push: | ||||
|     branches: | ||||
|       - "main" | ||||
|     paths: | ||||
|       - "backend/**" | ||||
|    | ||||
| jobs: | ||||
|   build-image: | ||||
|     runs-on: ubuntu-latest | ||||
|     name: Build Docker Image | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
|       - name: Build Image | ||||
|         run: docker buildx build -f backend/.docker/Dockerfile -t git.kjan.de/szut/casino-backend:latest backend | ||||
|       - name: Login | ||||
|         uses: docker/login-action@v3 | ||||
|         with: | ||||
|           registry: git.kjan.de | ||||
|           username: ${{ secrets.DOCKER_USER }} | ||||
|           password: ${{ secrets.DOCKER_PASS }} | ||||
|       - name: Push | ||||
|         run: docker push git.kjan.de/szut/casino-backend:latest | ||||
|  | @ -31,3 +31,64 @@ jobs: | |||
|           GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||
|           GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} | ||||
| 
 | ||||
|   build-backend-image: | ||||
|     needs: release | ||||
|     runs-on: ubuntu-latest | ||||
|     name: Build Backend Image | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
|         with: | ||||
|           fetch-depth: 0 # Ensure full history is available | ||||
|       - name: Extract tag | ||||
|         run: | | ||||
|           TAG=$(git describe --tags --abbrev=0) | ||||
|           echo "TAG=$TAG" >> $GITHUB_ENV | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
|       - name: Login | ||||
|         uses: docker/login-action@v3 | ||||
|         with: | ||||
|           registry: git.kjan.de | ||||
|           username: ${{ secrets.DOCKER_USER }} | ||||
|           password: ${{ secrets.DOCKER_PASS }} | ||||
|       - name: Build and push | ||||
|         uses: docker/build-push-action@v6 | ||||
|         with: | ||||
|           context: backend/ | ||||
|           file: backend/.docker/Dockerfile | ||||
|           push: true | ||||
|           tags: | | ||||
|             git.kjan.de/szut/casino-backend:latest | ||||
|             git.kjan.de/szut/casino-backend:${{ env.TAG }} | ||||
| 
 | ||||
|   build-frontend-image: | ||||
|     needs: release | ||||
|     runs-on: ubuntu-latest | ||||
|     name: Build Frontend Image | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
|         with: | ||||
|           fetch-depth: 0 # Ensure full history is available | ||||
|       - name: Extract tag | ||||
|         run: | | ||||
|           TAG=$(git describe --tags --abbrev=0) | ||||
|           echo "TAG=$TAG" >> $GITHUB_ENV | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v4 | ||||
|       - name: Login | ||||
|         uses: docker/login-action@v3 | ||||
|         with: | ||||
|           registry: git.kjan.de | ||||
|           username: ${{ secrets.DOCKER_USER }} | ||||
|           password: ${{ secrets.DOCKER_PASS }} | ||||
|       - name: Build and push | ||||
|         uses: docker/build-push-action@v6 | ||||
|         with: | ||||
|           context: frontend/ | ||||
|           file: frontend/.docker/Dockerfile | ||||
|           push: true | ||||
|           tags: | | ||||
|             git.kjan.de/szut/casino-frontend:latest | ||||
|             git.kjan.de/szut/casino-frontend:${{ env.TAG }} | ||||
|  |  | |||
							
								
								
									
										23
									
								
								frontend/.docker/Dockerfile
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								frontend/.docker/Dockerfile
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,23 @@ | |||
| FROM oven/bun:debian AS build | ||||
| WORKDIR /app | ||||
| 
 | ||||
| RUN apt-get update -y && apt-get install nodejs -y | ||||
| 
 | ||||
| ENV NODE_ENV=production | ||||
| 
 | ||||
| COPY package.json bun.lock ./ | ||||
| RUN bun install --frozen-lockfile | ||||
| 
 | ||||
| COPY . . | ||||
| RUN bun run build | ||||
| 
 | ||||
| FROM nginx:alpine AS production | ||||
| 
 | ||||
| RUN rm /etc/nginx/conf.d/default.conf | ||||
| COPY .docker/casino.conf /etc/nginx/templates/nginx.conf.template | ||||
| COPY .docker/entrypoint.sh /docker-entrypoint.d/40-custom-config-env.sh | ||||
| 
 | ||||
| COPY --from=build /app/dist/casino /usr/share/nginx/html | ||||
| 
 | ||||
| EXPOSE 80 | ||||
| CMD ["nginx", "-g", "daemon off;"] | ||||
							
								
								
									
										19
									
								
								frontend/.docker/casino.conf
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								frontend/.docker/casino.conf
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,19 @@ | |||
| server { | ||||
|     listen 80; | ||||
|     root /usr/share/nginx/html/browser; | ||||
|     index index.html; | ||||
| 
 | ||||
|     location / { | ||||
|         try_files $uri $uri/ /index.html; | ||||
|         add_header Cache-Control "no-cache"; | ||||
|     } | ||||
| 
 | ||||
|     location /backend/ { | ||||
|         proxy_pass http://${BACKEND_HOST}:${BACKEND_PORT}/; | ||||
|         proxy_http_version 1.1; | ||||
|         proxy_set_header Upgrade $http_upgrade; | ||||
|         proxy_set_header Connection 'upgrade'; | ||||
|         proxy_set_header Host $host; | ||||
|         proxy_cache_bypass $http_upgrade; | ||||
|     } | ||||
| } | ||||
							
								
								
									
										7
									
								
								frontend/.docker/entrypoint.sh
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										7
									
								
								frontend/.docker/entrypoint.sh
									
										
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,7 @@ | |||
| #!/bin/sh | ||||
| # Default values if not provided | ||||
| : ${BACKEND_HOST:=localhost} | ||||
| : ${BACKEND_PORT:=8080} | ||||
| 
 | ||||
| envsubst '$BACKEND_HOST $BACKEND_PORT' < /etc/nginx/templates/nginx.conf.template > /etc/nginx/conf.d/default.conf | ||||
| exec nginx -g 'daemon off;' | ||||
							
								
								
									
										15
									
								
								frontend/.dockerignore
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								frontend/.dockerignore
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,15 @@ | |||
| node_modules | ||||
| dist | ||||
| .angular | ||||
| .git | ||||
| .github | ||||
| .vscode | ||||
| .idea | ||||
| *.md | ||||
| !README.md | ||||
| .DS_Store | ||||
| .env* | ||||
| npm-debug.log* | ||||
| yarn-debug.log* | ||||
| yarn-error.log* | ||||
| bun-debug.log* | ||||
|  | @ -13,7 +13,7 @@ | |||
|         "build": { | ||||
|           "builder": "@angular-devkit/build-angular:application", | ||||
|           "options": { | ||||
|             "outputPath": "dist/lf10-starter2024", | ||||
|             "outputPath": "dist/casino", | ||||
|             "index": "src/index.html", | ||||
|             "browser": "src/main.ts", | ||||
|             "tsConfig": "tsconfig.app.json", | ||||
|  |  | |||
|  | @ -1,31 +0,0 @@ | |||
| version: '3' | ||||
| 
 | ||||
| volumes: | ||||
|   employee_postgres_data: | ||||
|     driver: local | ||||
| 
 | ||||
| services: | ||||
|   postgres-employee: | ||||
|     container_name: postgres_employee | ||||
|     image: postgres:17.4 | ||||
|     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.1.3 | ||||
|     #    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 | ||||
		Reference in a new issue