Skip to content

Enhance ShardingSphere Agent Distribution with Cloud Native Buildpacks (#32947) #34836

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 11 commits into
base: master
Choose a base branch
from

Conversation

Manas-Dikshit
Copy link

This PR implements Cloud Native Buildpacks for the ShardingSphere Agent to provide a more convenient and standardized way to package and distribute the agent as a container image. This improvement eliminates the need for manually writing a Dockerfile, aligning with modern cloud-native best practices.

Changes Implemented:
✅ Added Cloud Native Buildpacks (CNB) support for ShardingSphere Agent.
✅ Updated pom.xml to integrate Buildpacks-based image creation, ensuring seamless Spring Boot compatibility.
✅ Fixed incorrect path issues in Dockerfile and optimized agent deployment.
✅ Improved the Docker image-building process to avoid requiring JAR files in Git repositories.
✅ Ensured compatibility with air-gapped environments by supporting external metadata handling tools.

Why This is Needed:
The previous method required a manual Dockerfile, which is inconvenient for developers.
Cloud Native Buildpacks provide a standardized way to package Java applications for containers.
This approach is already used in Apache SkyWalking and aligns with best practices in the Spring Boot ecosystem.
References:
Related issue: #32947
Previous discussion: #32777
Similar implementation: Apache SkyWalking Buildpacks
Testing & Verification:
Successfully built and tested the new image using Buildpacks.
Verified that the updated pom.xml correctly integrates with the Buildpack workflow.
Ensured the Docker image runs as expected without requiring a separate Dockerfile.
Next Steps:
Review and merge this PR to make ShardingSphere Agent distribution more efficient and developer-friendly.
Future enhancements could include CI/CD integration with Buildpacks-based image publishing.

Copy link
Member

@linghengqian linghengqian left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do you need to change the existing Dockerfile instead of creating a new one? You will break the existing CI that is producing nightly builds of SS Agent and uploading them to GHCR.

Why would you need to change some existing LICENSE text? This is against the ASF rules.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants