jumpstarter

jumpstarter-devApache-2.0活跃维护

把真实或虚拟硬件接入 CI/CD 流水线,支持本地远程、人工或自动化测试,解决嵌入式与硬件在环场景下难以持续集成的问题。

Hardware testing for the software world. Real or virtual, local or remote, human, automated or agentic.

v0.9.0发布于 2026-08-18 08:01 UTC234star +1 / 7 天43fork同步于 2026-11-10 12:03 UTC

怎么上手

由 README 提炼,执行前请确认
pip install --extra-index-url https://pkg.jumpstarter.dev/ jumpstarter-cli
硬件要求按 README 说明

README 未说明具体硬件规格;支持 Linux 和 macOS,控制器需部署在 Kubernetes 集群。

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

开源测试自动化框架,统一管理真实与虚拟硬件的自动化测试

把真实或虚拟硬件接入 CI/CD 流水线,支持本地远程、人工或自动化测试,解决嵌入式与硬件在环场景下难以持续集成的问题。

核心能力

  • 用驱动统一控制 UART、CAN、SPI、GPIO、电源和 USB
  • 同一套 API 供开发者、测试脚本、CI 和 AI 代理调用
  • 支持 PyTest 与 Python 测试生态集成
  • 可跨团队安全共享和租用测试硬件
  • 通过 Kubernetes 服务集中管理硬件与路由

容易踩的坑

Python 包需额外指定 pkg.jumpstarter.dev 索引源;使用 Jumpstarter Service 需自备 Kubernetes 集群和匹配版本的 kubectl;Python 与 Go 版本需分别参照 .py-version 和 .go-version 文件。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v0.9.0
  1. v0.9.0最新正式版2026-08-18 · 2026-08-18 08:01 UTC

    What's New

    Installation & Deployment

    • Operator-only deployment: Helm charts have been fully removed and operator-based installation is now the sole supported path for Jumpstarter services.
    • Configurable installer paths: INSTALL_DIR and VENV_DIR can now be set via environment variables for greater flexibility.
    • MicroShift bootc image: A new container image for MicroShift-based deployments is now available.

    Lifecycle & Admin Management

    • Lifecycle hooks (Admin): Added support for beforeLease and afterLease hooks to enable automated device initialization, firmware flashing, and hardware cleanup. Jumpstarter hooks support custom interpreters (e.g., Python, shell), real-time log streaming, and configurable failure handling (warn, endLease, exit).
    • Lease tags: Leases now support user-defined metadata tags, making it easier to organize and filter leases in multi-team environments.
    • Access policy descriptions: Access policy rules now support a description field for documentation purposes.
    • Exporter enabled/disabled (JEP-0014 Phase 1): A new spec.enabled boolean field on the Exporter CRD allows administrators to mark exporters as disabled without deleting them. Disabled exporters are excluded from lease scheduling by default; the --allow-disabled CLI flag (or spec.allowDisabled on Lease) permits investigation of disabled exporters when needed.
    • Deprecated label warnings: Operators can now configure deprecatedLabels in the Jumpstarter config to mark label keys as deprecated. When clients use deprecated labels in lease or exporter queries, they receive warning messages with the configured migration guidance.

    Drivers & Capabilities

    • MCP Server: with jmp mcp serve you can integrate your existing AI agents in jumpstarter, enabling leasing, connecting, and using any existing drivers configured on your devices.

    This release introduces 9 new driver packages and significant updates across the existing driver ecosystem:

    • Android ADB & Emulator drivers (jumpstarter-driver-android): Enables Android device testing through ADB tunneling and emulator lifecycle management. The ADB driver provides seamless tunneling of ADB connections to remote devices, while the emulator driver handles full emulator lifecycle (start, stop, snapshot) with integrated ADB tunneling for CI/CD workflows.

    • DUT Network Isolation driver (jumpstarter-driver-dut-network): Provides full network isolation of devices under test. Creates an isolated bridge network with DHCP and DNS services via dnsmasq, IP aliasing for address management, a local NTP responder, egress and ingress traffic filtering rules, and live tcpdump streaming for packet capture and debugging.

    • mitmproxy driver (jumpstarter-driver-mitmproxy): Adds HTTP and HTTPS interception capabilities for testing. Supports backend mocking to simulate API responses, traffic recording for replay and analysis, and passthrough mode for selective interception. Useful for testing network-dependent applications without relying on live services.

    • NOYITO Relay driver (jumpstarter-driver-noyito-relay): Power control driver for NOYITO USB relay boards. Provides a simple and affordable way to control device power using com

  2. v0.9.0-rc.2pre-release2026-08-10 · 2026-08-10 07:13 UTC
    查看更新说明

    What's Changed

    Full Changelog: https://github.com/jumpstarter-dev/jumpstarter/compare/v0.9.0-rc.1...v0.9.0-rc.2

  3. v0.9.0-rc.1pre-release2026-06-26 · 2026-06-26 13:45 UTC
    查看更新说明

    What's New

    Installation & Deployment

    • Operator-only deployment: Helm charts have been fully removed and operator-based installation is now the sole supported path for Jumpstarter services.
    • Configurable installer paths: INSTALL_DIR and VENV_DIR can now be set via environment variables for greater flexibility.
    • MicroShift bootc image: A new container image for MicroShift-based deployments is now available.

    Lifecycle & Admin Management

    • Lifecycle hooks (Admin): Added support for beforeLease and afterLease hooks to enable automated device initialization, firmware flashing, and hardware cleanup. Jumpstarter hooks support custom interpreters (e.g., Python, shell), real-time log streaming, and configurable failure handling (warn, endLease, exit).
    • Lease tags: Leases now support user-defined metadata tags, making it easier to organize and filter leases in multi-team environments.
    • Access policy descriptions: Access policy rules now support a description field for documentation purposes.

    Drivers & Capabilities

    This release introduces 9 new driver packages and significant updates across the existing driver ecosystem:

    • Android ADB & Emulator drivers (jumpstarter-driver-android): Enables Android device testing through ADB tunneling and emulator lifecycle management. The ADB driver provides seamless tunneling of ADB connections to remote devices, while the emulator driver handles full emulator lifecycle (start, stop, snapshot) with integrated ADB tunneling for CI/CD workflows.

    • DUT Network Isolation driver (jumpstarter-driver-dut-network): Provides full network isolation of devices under test. Creates an isolated bridge network with DHCP and DNS services via dnsmasq, IP aliasing for address management, a local NTP responder, egress and ingress traffic filtering rules, and live tcpdump streaming for packet capture and debugging.

    • mitmproxy driver (jumpstarter-driver-mitmproxy): Adds HTTP and HTTPS interception capabilities for testing. Supports backend mocking to simulate API responses, traffic recording for replay and analysis, and passthrough mode for selective interception. Useful for testing network-dependent applications without relying on live services.

    • NOYITO Relay driver (jumpstarter-driver-noyito-relay): Power control driver for NOYITO USB relay boards. Provides a simple and affordable way to control device power using commodity USB relay hardware, implementing the standard Jumpstarter power interface for on/off/cycle operations.

    • OBD-II driver (jumpstarter-driver-obd): Vehicle diagnostics driver using the OBD-II protocol via ELM327 adapters. Allows reading diagnostic trouble codes, live sensor data, and vehicle information for automotive testing and validation workflows.

    • Renode driver (jumpstarter-driver-renode): Integration with the Renode embedded systems emulator. Enables simulation of microcontroller targets for testing firmware without physical hardware, supporting serial communication, power control, and machine management within Jumpstarter exporters.

    • SOME/IP driver (jumpstarter-driver-someip): Wraps the opensomeip Python binding to provide SOME/IP (Scalable service-Oriented MiddlewarE over IP) protocol operations.

  4. v0.8.1Developer Preview2026-03-26 · 2026-03-26 14:14 UTC
    查看更新说明

    Jumpstarter v0.8.1 — Release notes

    This release begins with version v0.8.1, as version v0.8.0 was accidentally released previously and cannot be undone.

    What's new

    • Operator-first installation: Helm-based service installs are now deprecated; operator installs are the recommended and supported path for production and new environments.
    • OCI-based flashing improvements: Improved oci:// handling, private registry authentication, and more robust remote flashing behavior with retries and timeouts.
    • Sparse and partition workflows: Improved sparse image support; through fls and fastboot, the flashers and ridesx4 drivers can now flash sparse images (simg) encapsulated in OCI artifacts, properly built .simg files can improve flashing times by x2-x10 by avoiding don't care areas in the images.
    • Authentication and login UX: Continued improvements to simplified login flows and operator-managed endpoint behavior.
    • Platform growth: Monorepo transition completed in this release cycle, featuring ongoing operator and driver refinements and more robust CI.
    • Monorepo: Python packages, protocol, Kubernetes operator, and automation are now in a single repository (UV workspace under python/).
    • CLI & auth: Simplified jmp login, default client selection after OIDC login, and various auth UX and configuration fixes.

    Driver updates

    The table below summarizes driver-level changes in v0.8.1. Status = New driver indicates the package was added during the 0.8 release cycle.

    DriverStatusNotable updates in 0.8 line
    bleNew driverAdded BLE stream driver and fixed console behavior
    ssh-mitmNew driverAdded SSH MITM driver; evolved architecture and compatibility
    flashersUpdatedAdded --no-power-off to flashers; chunk long credentials over serial
    httpUpdatedTracked rename/delete/copy operations; removed created HTTP/TFTP files by default
    iscsiUpdatedAddressed review fixes; added explicit requests dependency
    networkUpdatednoVNC updates (encrypt option, documentation, and coverage improvements)
    opendalUpdatedImproved RideSX decompressed-file cleanup and remote hash behavior
    probe-rsUpdatedAdded speed configuration option
    pyserialUpdatedIncreased StreamReader limit; added disable_hupcl and --no-output support
    qemuUpdatedImproved vsock availability check; added disk resize support
    ridesxUpdatedAdded OCI flashing support and reliability improvements
    shellUpdatedAdded per-method descriptions/timeouts and shared method infrastructure
    sshUpdatedstream_async now works as an async context manager; client refinements
    tftpUpdatedRemoved created files by default for cleanup consistency
    tmtUpdatedAdjusted default reboot behavior and added --feeling-safe support
    ubootUpdatedImproved error formatting and timeout forwarding in run_command()
    vncUpdatedNew VNC driver line updates and noVNC encrypt support

    Installation

    Installing the Jumpstarter service on Kubernetes or OpenShift should be done via the Jumpstarter Operator. The operator reconciles a Jumpstarter custom resource (operator.jumpstarter.dev/v1alpha1) and manages the controller, router, login endpoints, TLS integration with cert-manager, and related networking.

    Documentation

    Example

    kubectl apply -f https://github.com/jumpstarter-dev/jumpstarter/releases/download/v0.8.1/operator-installer.yaml
    

    Contributors

    We would like to thank all our contributors, with a special sho

  5. v0.8.1-rc.1pre-release2026-02-10 · 2026-02-10 19:14 UTC
    查看更新说明

    What's Changed

    (this changelog spans the repo migration from jumpstarter-dev/jumpstarter-python / jumpstarter-dev/jumpstarter-controller into the new monorepo jumpstarter-dev/jumpstarter)

    Legacy repo (jumpstarter-python) changes after c5d38de (v0.7.4)

    Legacy controller repo (jumpstarter-controller) changes after v0.7.1 (5cedce7)

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    bolt Jumpstarter

    Matrix Etherpad Community Meeting GitHub Release PyPI - Version

    Jumpstarter is a free and open source test automation framework. It bridges the gap between embedded development workflows and deployment environments, enabling consistent automated testing across real hardware and virtual environments with CI/CD integration. Every interface is programmatic, so human developers, test scripts, CI pipelines, and AI agents interact with devices through the same APIs.

    Highlights

    • 🧪 Unified Testing - One tool for physical and virtual devices under test
    • 🔌 Hardware Abstraction - Control UART, CAN, SPI, GPIO, power, and USB through drivers
    • 🐍 Python-Powered - Integrate with PyTest and Python's testing ecosystem
    • 🌐 Collaborative - Share and securely lease test hardware across teams
    • ⚙️ Automation Ready - Same APIs for humans, test scripts, CI pipelines, and AI agents
    • 💻 Cross-Platform - Supports Linux and macOS

    Repository Structure

    This monorepo contains all Jumpstarter components:

    DirectoryDescription
    python/Python client, CLI, drivers, and testing framework
    controller/Kubernetes controller and operator (Jumpstarter Service)
    protocol/gRPC protocol definitions (protobuf)
    e2e/End-to-end testing infrastructure

    Quick Start

    Install the CLI

    pip install --extra-index-url https://pkg.jumpstarter.dev/ jumpstarter-cli
    

    Or install all Python components:

    pip install --extra-index-url https://pkg.jumpstarter.dev/ jumpstarter-all
    

    Upgrade the CLI

    jmp self update
    

    Deploy the Service

    To install the Jumpstarter Service in your Kubernetes cluster, see the Service Installation documentation.

    Components

    Python Client & Drivers (python/)

    The Python implementation provides:

    • jmp CLI tool for interacting with hardware
    • Client libraries for test automation
    • Hardware drivers for various devices
    • Testing framework integration

    See python/README.md for details.

    Jumpstarter Service (controller/)

    The Kubernetes-native service that provides:

    • Centralized hardware management
    • Client and exporter routing
    • Authentication and authorization
    • Multi-tenant support

    Prerequisites:

    See controller/README.md for deployment instructions.

    Protocol (protocol/)

    The gRPC-based communication layer that enables:

    • Unified interface for virtual and physical hardware
    • Secure communication over HTTPS
    • Tunneling support for Unix sockets, TCP, and UDP
    • Flexible topology with direct or routed connections

    See protocol/README.md for details.

    End-to-End Tests (e2e/)

    Comprehensive testing infrastructure for the entire Jumpstarter stack.

    See the Makefile for available targets.

    Development

    Prerequisites

    • Python (for Python components, see .py-version)
    • Go (for controller, see .go-version)
    • Docker/Podman (for container builds)
    • kubectl (version matching the k8s.io dependencies in controller/go.mod)

    Building

    # Build all components
    make build
    
    # Build specific components
    make build-python      # Python packages
    make build-controller  # Controller binary
    make build-protocol    # Generate protocol code
    
    # Run tests
    make test
    
    # Run end-to-end tests
    make e2e-setup  # First time only
    make e2e        # Run tests
    make e2e-clean  # Clean up
    

    Documentation

    Jumpstarter's documentation is available at jumpstarter.dev.

    Contributing

    Jumpstarter welcomes contributors of all levels of experience! See the contributing guide to get started.

    Community

    License

    Jumpstarter is licensed under the Apache 2.0 License (LICENSE or https://www.apache.org/licenses/LICENSE-2.0).