imbajin commented on issue #2977:
URL: https://github.com/apache/hugegraph/issues/2977#issuecomment-4106238570

   Thanks for reviewing this starter task. To provide a full roadmap, here is 
the suggested follow-up plan after Phase A.
   
   ```text
   Roadmap overview
   Phase A (this issue) -> Phase B (build once/package many) -> Phase C 
(long-term maintainability)
   ```
   
   ## Phase B (Core Efficiency): Build Once, Package Many
   
   ### Objective
   Remove repeated Maven builds across `pd/store/server` image pipelines by 
producing reusable build artifacts once per commit.
   
   ### Suggested Scope
   - Add a CI step/job that runs Maven once and produces standardized artifacts 
for:
     - `pd`
     - `store`
     - `server-hstore`
     - `server-standalone`
   - Publish these artifacts via CI artifact storage.
   - Refactor image builds to consume artifacts instead of running `mvn 
package` inside each image Dockerfile.
   - Keep runtime image behavior unchanged (entrypoint, ports, env defaults).
   
   ### Acceptance Criteria
   - Maven build is executed once per commit in the image publish flow.
   - `pd/store/server` images are packaged from the produced artifacts.
   - Functional parity with current images is verified by smoke/integration 
checks.
   - End-to-end CI time for the full image set shows a significant reduction.
   
   ### Recommendation
   Track Phase B in one dedicated issue/PR series, because it changes build 
architecture and cross-job artifact flow.
   
   ## Phase C (Maintainability): Configuration and Script Convergence
   
   ### Objective
   Reduce long-term maintenance overhead and avoid drift between server 
variants.
   
   ### Suggested Scope
   - Consolidate duplicated startup/config templating logic where possible.
   - Clearly model variant-specific behavior (standalone vs hstore) through 
parameters/templates.
   - Add lightweight build observability:
     - module-level build duration
     - cache hit/miss indicators
     - architecture-level trend tracking (`amd64` / `arm64`)
   
   ### Acceptance Criteria
   - Shared logic is centralized and variant differences remain explicit.
   - No runtime behavior regression for either server mode.
   - Build metrics are visible enough to validate future optimization impact.
   
   ### Recommendation
   Treat Phase C as incremental improvements across multiple small PRs after 
Phase B is stable.
   
   ---
   
   If maintainers agree, I can open separate tracking issues for Phase B and 
Phase C with concrete task breakdowns.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to