build and testing environments as code tool: Dockerised build and testing environments made easy
- 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, macOS 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
- Drop the latest
batect
andbatect.cmd
scripts from the releases page into the root folder of your project. - If you're on Linux or macOS, make sure the script is executable: run
chmod +x batect
. - Create your
batect.yml
to define your environment:- Take a look at the sample projects for inspiration
- Dive straight into the configuration file reference
- Or, if you're using another tool already and want to switch to batect, batectify by @ineffyble can convert files from other tools to batect's format
batect requires Docker 18.03.1 or newer, Java 8 or newer (although this requirement will be removed before v1.0), and:
- On Linux and macOS: Bash and
curl
- On Windows: Windows 10
batect supports both Linux and Windows containers.
All documentation is available on the documentation site. Highlights include:
- Introduction
- Getting started guide
- Configuration file reference
- Sample projects
- Comparison with other tools
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.
There's a batect community on Spectrum - anyone is welcome to join.
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.
Thank you to the following people for their bug reports, pull requests, suggestions and feedback, in alphabetical order:
- @andeemarks
- @assafw
- @binkley
- @Byron-TW
- @cazgp
- @eichelkrauta
- @ekamara
- @ineffyble
- @jagregory
- @jobasiimwe
- @Letitia-May
- @minnn-minnn
- @pameck
- @safiranugroho
- @Sami5
- ...and everyone else who has used the tool and provided feedback offline
Thank you to YourKit for providing a complimentary copy of the YourKit profiler, and thank you to JFrog for providing a complimentary instance of both Bintray and Artifactory.