Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
2cfe9bf
Upgrade Spring Boot to 2.7.18 and Java to 21, migrate Swagger to Spri…
mahya8585 Feb 5, 2026
6ff0113
Fix CVE-2025-49146 by upgrading PostgreSQL driver to 42.7.7
mahya8585 Feb 5, 2026
d2f26c9
AIによるアップグレード
mahya8585 Feb 5, 2026
f69ef3b
Upgrade Spring Boot from 2.7.18 to 3.3.13
mahya8585 Feb 6, 2026
34ccce3
Upgrade Spring Boot from 3.3.13 to 3.4.5
mahya8585 Feb 6, 2026
ddb7267
BigDecimal対応・フロントセット対応・ドキュメント整え
mahya8585 Feb 6, 2026
686e307
Merge pull request #2 from mahya8585/appmod/java-upgrade-20260206045847
mahya8585 Feb 6, 2026
5177794
【ここまででJava/Frameworkのバージョンアップ完了】Remove deprecated devcontainer config…
mahya8585 Feb 9, 2026
60a783e
ドキュメントととのえ
mahya8585 Feb 9, 2026
d7c0c27
Completeness fixes: Add Azure Key Vault configuration and dependencies
mahya8585 Feb 9, 2026
5e760e9
Commit all changes before code migration completed: 2026-02-09 16:01:11
mahya8585 Feb 9, 2026
c408d71
Integrate Azure Key Vault for secure credential management
mahya8585 Feb 9, 2026
f294827
エラーでてるところ直しました
mahya8585 Feb 9, 2026
fdd0f65
Merge pull request #3 from mahya8585/appmod/java-plaintext-credential…
mahya8585 Feb 9, 2026
de347ca
Add infrastructure files for TechBookStore deployment
mahya8585 Feb 9, 2026
0c7ce0e
CI/CDパイプライン作成
mahya8585 Feb 9, 2026
90583df
デプロイできました
mahya8585 Feb 17, 2026
a52d76d
たぶんこのバージョンがワークショップで使われるやつ
mahya8585 Feb 17, 2026
cb276f3
CI設定の削除
mahya8585 Feb 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
78 changes: 78 additions & 0 deletions .azure/containerization-plan.copilotmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
# **Containerization Plan**

## **Goal**
Setup Dockerfiles for the TechBookStore project to run inside containers. Create separate Dockerfiles for backend and frontend services following modern Docker best practices.

## **List of services to be containerized**

### 1. Backend Service
- **Path**: c:/local-m/github/spring-boot-sample/backend
- **Language**: Java 21
- **Framework**: Spring Boot 3.5.0
- **Build System**: Maven
- **Entry Point**: com.techbookstore.app.TechBookStoreApplication
- **Port**: 8080
- **Dependencies**:
- PostgreSQL (database)
- H2 (in-memory database for dev/test)
- Redis (caching)
- Azure Key Vault (secrets management)
- **Key Features**: REST API, JPA/Hibernate, Spring Security, I18n support

### 2. Frontend Service
- **Path**: c:/local-m/github/spring-boot-sample/frontend
- **Language**: JavaScript (React 16.13.1)
- **Framework**: React with Material-UI 4.x
- **Build System**: npm
- **Port**: 3000 (dev), static files for production
- **Dependencies**:
- React Router DOM
- Redux for state management
- Axios for API calls
- Recharts for data visualization
- **Key Features**: SPA, I18n context, responsive UI

## **Execution Steps**

> **Below are the steps for Copilot to follow:**

### Step 1: Check containerization pre-requisites
- ✅ Ensure Docker is installed and running
- ✅ Verify project builds successfully locally

### Step 2: Scan the repository
- ✅ Repository analysis completed using `appmod-analyze-repository` tool
- ✅ Detected: 2 services (backend Java/Spring Boot, frontend JavaScript/React)

### Step 3: Check code is ready to run in a local container
- Review application configuration management:
- Backend uses `application.yml` with profile support (dev/prod)
- Frontend uses environment variables for API endpoint configuration
- Identify cloud dependencies:
- PostgreSQL database (can use containerized version for dev)
- Redis cache (can use containerized version for dev)
- Azure Key Vault (production only, optional for local dev)

### Step 4: Create Dockerfiles for each project
- Generate backend Dockerfile using `appmod-plan-generate-dockerfile` tool
- Generate frontend Dockerfile using `appmod-plan-generate-dockerfile` tool
- Use multi-stage builds for optimized image sizes
- Follow security best practices (non-root user, minimal base images)

### Step 5: Build the Docker images
- Build backend image: `docker build -t techbookstore-backend:latest ./backend`
- Build frontend image: `docker build -t techbookstore-frontend:latest ./frontend`
- Tag images appropriately for versioning

### Step 6: Summarize the containerization
- Document all created Dockerfiles
- Provide instructions for building and running containers
- List any configuration changes needed
- Document environment variables required

## **Success Criteria**
- ✅ Separate Dockerfile created for backend service
- ✅ Separate Dockerfile created for frontend service
- ✅ Docker images build successfully without errors
- ✅ Images follow security and optimization best practices
- ✅ Clear documentation provided for running containers
Loading