/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
  • No installation required, only dependencies are Bash, Docker (v17.06+) and curl* - onboard new team members in minutes
  • 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

* at the moment, a JVM is also required, but this requirement will be removed before v1.0

asciicast

Getting started

  1. Drop the latest batect script from the releases page into the root folder of your project.
  2. Make sure it's executable: run chmod +x batect.
  3. Create your batect.yml to define your environment:

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.