Spug 4.0: pipelines, credentials and a bilingual UI
Spug 4.0 is out. It is the biggest release since 3.0: two new modules (pipelines and credential management), a fully bilingual interface, canary and retry releases, and a back-end runtime upgraded to Python 3.8+ / Django 4.2.
Pipelines
Arrange parameter, build, execute command, data transfer, data upload and DingTalk / Feishu / WeCom / Push Assistant nodes into a workflow. Every node runs on upstream success / on upstream failure / always, multi-host nodes run in parallel, and the live console shows the output per node and per host. Documentation


Credential management
Keep passwords and private keys in one place, share them with other users, and reference them from pipeline build nodes to access private repositories. Documentation
Bilingual interface
Switch between English and Simplified Chinese from the header or the login page; console output, API error messages and exported spreadsheets are translated as well. The demo at demo.spug.cc already runs 4.0.
Deployments
- Deploy requests gain canary (selected hosts) and retry (failed hosts only) release modes.
- Git repositories of build repositories and deploy configurations can be set up with key or password authentication from the UI.
- Server-side scripts can update configuration center values with
SPUG_SETand pass build-stage variables to hosts withSPUG_GEV_*.
Notification channels
- Feishu for alert contacts, with DingTalk / Feishu bot signing.
- Feishu for deploy and scheduled task result notifications.
- New Push Service settings: bind a Push Assistant account and send SMS, phone call, email and WeChat official account messages from pipelines.
Host management
Import hosts from Alibaba Cloud / Tencent Cloud, verify them in batch and sync CPU, memory, disk and expiry details, export to Excel; SSH now works with dash / ash shells and Ed25519 / ECDSA keys.
Upgrading
The 4.0 back-end dependencies are incompatible with 3.x. Docker users pull the new image and run updatedb once; manual deployments need a fresh Python 3.8+ virtual environment. See Upgrade and the full change log.
