Continuous Delivery Evolution for Anjuke Mini Programs: From Manual Releases to Platformized Automation
This article details how the Anjuke mini‑program team tackled frequent, fragmented releases across multiple platforms by standardizing processes, introducing local SDK‑based uploads, integrating Jenkins, and ultimately building a platform‑based service with UI automation using Puppeteer, resulting in reduced cost, higher transparency, and scalable multi‑program support.
Background: Anjuke’s mini‑programs (WeChat, Baidu, Alipay) span new‑home, second‑hand, rental, and commercial real‑estate domains, with four active programs released up to ten times per week, leading to a fragmented, manual release workflow.
Pain Points: Multiple release platforms, high release frequency, and costly, inefficient processes requiring developers to install various SDKs, manage compilation environments, and perform repetitive manual steps.
Process Standardization: Release windows were fixed to Monday and Wednesday, with a dedicated release engineer handling compilation, packaging, and experience‑code generation, while business owners performed acceptance testing before submission.
Local Stage: The team installed each platform’s SDK (miniprogram‑ci, swan‑toolkit, alipay‑dev), configured backend keys, and wrote scripts that invoke the SDKs to upload code directly, eliminating the need to open multiple developer tools.
Jenkins Integration: The upload and experience‑code generation steps were encapsulated in a Jenkins job, displaying QR codes in the build history and automating code pull, upload, and QR generation.
Platformization: To address remaining manual steps (setting experience version, submission, publishing), a dedicated service (MpService) was created, exposing APIs for upload, experience‑code, submission, and publishing. UI automation was implemented with Puppeteer to drive the mini‑program management consoles, capturing QR codes via screenshots and returning image URLs for front‑end display.
Architecture: The solution consists of two main components – an SDK‑based upload service and a Puppeteer‑driven UI automation service – communicating via REST APIs and callbacks.
Benefits: Release cost per mini‑program was reduced by ~30 minutes per iteration, process transparency improved with real‑time package tracking, version artifacts are centrally managed, and the platform now supports rapid onboarding of over ten additional mini‑programs across multiple ecosystems.
Conclusion: By abstracting platform‑specific steps, unifying the workflow, and platformizing the delivery pipeline, the team achieved significant efficiency gains and established a reusable continuous delivery framework for all mini‑programs.
58 Tech
Official tech channel of 58, a platform for tech innovation, sharing, and communication.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.