/batect

Build And Testing Environments as Code Tool

Primary LanguageKotlinApache License 2.0Apache-2.0

batect

Build Status Coverage License Chat

build and testing environments as code tool: Dockerised build and testing environments made easy

The sales pitch

  • Consistent, fast, repeatable, isolated builds and test runs everywhere: your computer, your colleagues' computers and on CI
  • Document and share common tasks within your team in a structured way - it's a go script based on Docker
  • Manage dependencies for integration and end-to-end testing (like databases) with ease
  • Onboard new team members in minutes: no installation required
  • Supports Linux, OS X and Windows
  • Works with any language or framework, your existing CI system, and your chosen language's existing tooling
  • Take advantage of existing Docker images to get started quickly

asciicast

Getting started

  1. Drop the latest batect and batect.cmd scripts from the releases page into the root folder of your project.
  2. If you're on Linux or OS X, make sure the script is executable: run chmod +x batect.
  3. Create your batect.yml to define your environment:

System requirements

batect requires Docker 17.06 or newer, Java 8 or newer (although this requirement will be removed before v1.0), and:

  • On Linux and OS X: Bash and curl
  • On Windows: Windows 10

Documentation

All documentation is available on the documentation site. Highlights include:

If you prefer watching videos to reading documentation, you can also watch Charles introduce batect and the rationale behind it at the Evolution by ThoughtWorks conference.

Support and community

There's a batect community on Spectrum - anyone is welcome to join.

Feedback

Please open an issue on GitHub if you run into a problem or have a suggestion.

You can see what new features and improvements are planned in the roadmap.

Acknowledgements

Thank you to the following people for their bug reports, pull requests, suggestions and feedback, in alphabetical order:

Thank you to YourKit for providing a complimentary copy of the YourKit profiler.