Open
Conversation
add zipkin dash image
add prometheus metrics
config security
format security config bean
add default openapi docs
remove unrequired dependency
- Update Lombok to 1.18.30 and Maven Compiler Plugin to 3.11.0 (fixes Java 11 compatibility) - Create docker-compose package with core.yml (Eureka, Config Server, Zipkin) - Create docker-compose package with compose.yml (API Gateway, User, Product, Order services) - Configure named bridge network (microservices_network) for service-to-service communication - Add comprehensive Docker Compose setup documentation (README.md) - All 6 microservices now containerized and ready for orchestration - Verified service registration in Eureka and health checks passing
- Create start-services.sh: Orchestrates core.yml and compose.yml startup with proper initialization waits - Create validate-services.sh: Comprehensive health checks for all 7 services and Eureka registration - Create stop-services.sh: Cleanly stops both Docker Compose stacks - Add scripts/README.md with detailed usage examples and troubleshooting guide - Scripts enable reliable service orchestration for development and CI/CD pipelines - All scripts tested and verified with running microservices
Document organized directory structure with clear separation of concerns Explain docker-compose package organization (core.yml, compose.yml, README) Explain scripts package with automation tools documentation Document pom.xml build configuration and dependency management Detail microservices organization (11 services with modular structure)
- Remove parent pom dependency from all 10 microservices - Update each pom.xml to inherit directly from spring-boot-starter-parent - Simplify Dockerfiles to copy only service-specific files - Fix JAR output paths in build stages - Add spring-boot-starter-test dependency to all services - Each service now builds independently without module interdependencies Services updated: - api-gateway - user-service - product-service - order-service - payment-service - favourite-service - shipping-service - proxy-client - service-discovery - cloud-config
- Update compose.yml with complete service configuration - Update docker-compose/core.yml with proper environment variables - Update docker-compose/compose.yml with all microservices - Add compose-local.yml for local development - Update pom.xml with independent module configuration - Enhance start-services.sh with health checks - Improve stop-services.sh with graceful shutdown - Update validate-services.sh with comprehensive validation - Add build-images.sh script for automated Docker image builds All 10 microservices now properly configured and deployable
…redentialService) - Added 19 unit tests for user-service - UserServiceImplTest: 7 tests (findById, findAll, save, delete, findByUsername) - AddressServiceImplTest: 6 tests (CRUD operations) - CredentialServiceImplTest: 6 tests (CRUD operations) - All tests use proper AAA pattern and Mockito mocking
- Added 6 unit tests for ProductServiceImpl - Tests cover: findById, findAll, save, delete, update operations - All tests follow AAA pattern with Mockito mocking - Tests handle Product and Category entity relationships
- Added 6 unit tests for OrderServiceImpl - Tests cover: findById, findAll, save, delete, update operations - Proper mocking of Cart entity relationships - All tests pass with AAA pattern implementation
- Added 6 unit tests for PaymentServiceImpl - Tests cover: findById, findAll, save, delete, update operations - Mocking of RestTemplate for external service calls - PaymentStatus enum properly tested
- Added 6 unit tests for FavouriteServiceImpl - Tests cover: findById, findAll, save, update, delete operations - Handling of composite keys (FavouriteId) - RestTemplate mocking for User and Product service calls
- Added 6 unit tests for OrderItemServiceImpl - Tests cover: findById, findAll, save, update, delete operations - Handling of composite keys (OrderItemId) - RestTemplate mocking for Order and Product service calls
…inikube (service-discovery)
…en payment-service-dev
…en order-service-dev
…en favourite-service-dev
…user-service-dev (remueve cierre extra)
…tro de 'stages' en user-service y product-service
…IP y MINIKUBE_VM_IP; corrige fetchIp(vmName) y header DO_TOKEN
…sure VM Available (igual a product/service-discovery)
…VMNAME env para jq --arg (evita '' en Groovy)
…-quoted; elimina uso inválido de 'environment' en sh
- Fix unit test bash typo ('else:' -> 'else') in user-service pipeline
- Use BUILD_VM_IP for build and MINIKUBE_VM_IP for image load across services
- Wrap kubectl deploy steps in remote SSH to ensure minikube context (payment, product, order, favourite)
- Product: guard image load by installing/starting minikube if missing
Services touched: user, product, order, payment, favourite
- user-service: add memory limits for unit/integration tests to prevent OOM - product-service: add MINIKUBE_VM_NAME parameter, fix fetchIp with withEnv, use MINIKUBE_VM_IP for Wait for Service Discovery stage - order-service: fix fetchIp with withEnv, use MINIKUBE_VM_IP for Wait for Service Discovery stage - favourite-service: fix fetchIp with withEnv, use MINIKUBE_VM_IP for Wait for Service Discovery stage - payment-service: fix fetchIp with withEnv, use MINIKUBE_VM_IP for Wait for Service Discovery stage - shipping-service: fix fetchIp with withEnv, use MINIKUBE_VM_IP for Wait for Service Discovery stage All services now correctly: - Resolve VM IPs using withEnv to avoid Groovy interpolation issues - Connect to Minikube VM (not build VM) when checking Service Discovery status
Add cleanup step to remove orphaned git lock files (.git/index.lock, etc.) before git operations in all microservice pipelines to prevent 'Unable to create .git/index.lock: File exists' errors. This can occur when git processes are interrupted or run concurrently. The cleanup ensures fresh git operations even if previous runs left lock files behind. Applied to: user, product, order, payment, shipping, favourite, service-discovery
e899586 to
742ea9d
Compare
Add 7 Jenkins staging pipelines for automatic deployment to GKE staging namespace. Each pipeline pulls Docker images from Docker Hub and deploys to Kubernetes with health checks. Pipelines run only on staging branch and include change detection.
- Add PATH configuration for gcloud and kubectl in all staging pipelines - Include common installation paths: /usr/local/bin, /usr/bin, /opt/google-cloud-sdk - Add automatic path discovery for gcloud using find command - Verify gcloud and kubectl availability before execution - Add clear error messages when tools are not found - Improve error handling with installation instructions This fixes 'gcloud: not found' errors when gcloud is installed in non-standard paths or when PATH is not properly configured in Jenkins build environment.
Replace '&>' with '> /dev/null 2>&1' for shell compatibility. Jenkins uses /bin/sh which doesn't support Bash-specific '&>' operator. This fixes 'kubectl no encontrado' errors where kubectl was actually present but the check failed due to shell incompatibility.
- Refactor imports: replace wildcard imports with specific imports - Add cluster execution infrastructure: * run-e2e-cluster.sh script for Kubernetes cluster testing * k8s/e2e-test-job.yaml Kubernetes job configuration * ClusterServiceConfig and ServiceUrlHelper for service discovery * application-cluster.yml for cluster mode configuration - Update README.md with Maven reactor troubleshooting guide Enables E2E tests to run both locally (with mock controllers) and against actual Kubernetes cluster services.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.