Eliminate the commit-push-wait-repeat approach to CI
Blackbird is a new CI platform that lets you run and debug your CI jobs without pushing any changes, and streams the output live to your terminal.
You can even pause a CI job and SSH in to examine the container file system while it’s running.
What is Blackbird CI all about?
Build local changes in CI before you run git push
Ever wished you could run a specific step of a CI job without having to make a commit, push it, and wait for the full CI job to run to see the result?
With Blackbird CI you can run individual CI steps using local changes. You don't even need to commit the changes beforehand.
For example, if you're having a problem with some tests failing in CI you can make some edits to the test files and run only the tests step of your CI job. The test logs are live-streamed straight to your terminal for easy debugging.
Debug CI jobs while they’re running
Got a strange error? Something works locally but not in CI?
Blackbird allows you to pause the execution of a CI job at any point and open a terminal into the container running the job so that you can examine the file system.
Never again will you need to add an "ls -l" step to your CI pipeline and wait for a full CI job run to see output files and folders.
In the future we intend to also support remote debugging of source code from inside the CI container using the native debugger for your language (eg. Delve for Go, or xdebug for PHP) to allow you to properly debug failing tests.
Terminal-first for great developer experience
We've built the user experience around our terminal app which allows you to do everything you can do in the web UI.
List repos and jobs, trigger jobs, cancel jobs, view job status, live-stream job and job step logs, validate CI pipeline files, and more.
Save time with our CI run optimization helper
Blackbird reduces the time you spend waiting for CI jobs to run.
Our optimization helper helps you design your CI jobs to run in the most optimal way. Blackbird suggests ways to reorganize parallel job stages to optimize build time (flame graphs anyone?), and highlight slow launches caused by overly large container images.
Blackbird also monitors the runtime of your jobs over time and alerts you if anything is getting slower.
Blackbird intelligently caches job step states - if you've already run a CI job step for a local commit and it passed, that step won't be run again when you push the commit to the server.
FAQ
- How does Blackbird CI work?
- Blackbird CI is a new CI platform where the job runner is deeply integrated with a native terminal app allowing you to trigger CI runs against changes that only exist on your local file system, and live-stream the output for easy debugging. Both the Blackbird backend and terminal app are written in Go.
- Who is Blackbird made for?
- Blackbird is intended for individuals and companies building software for the web.
- Does Blackbird require Git?
- Yes, you must be using Git to use Blackbird CI.
- What Git forges/servers does Blackbird support?
- Blackbird will launch in Beta with support for Github and Gitlab. For the GA release we intend to add support for Bitbucket, SourceHut, Gitea, and other Git forges.
- How are CI jobs run?
- Blackbird’s hosted runners run all CI job steps in Docker containers. Later we intend to add support for other runners like Kubernetes, or bare-metal for building native binaries.
- Can I use custom docker images as job runners?
Yes - using custom images will speed up CI job runtimes.
Choose a small base image and pre-install all your dependencies inside for the fastest launch time possible. Why re-install your dependencies every time CI run when you can install them once beforehand?
Blackbird will help you spot repeated operations that could be moved to the job runner image, and highlight slow launches caused by large images.
Job runner docker images for Blackbird live inside the same Git repository that's being built so that any changes to the image only affect the current branch.
Job runner images are built automatically by Blackbird whenever a change is detected and they are stored in Blackbird's private container registry accessible only to our job runners.
- Can I host my own job runners?
- Not during the Beta. Self-hosted runners are something that we intend to add for the GA release.
- How much does Blackbird cost?
We haven't worked out our pricing yet, but we expect that each tenant will be given a certain amount of free job runner seconds per month, then each CI job run after that will be billed per second of runtime.
For example if you run a CI job with three parallel steps that each run for 60 seconds you would be billed for 180 seconds of runtime.
We will offer either end-of-month usage-based invoicing or preloaded credit so you can avoid billing surprises.
- What’s with the name?
- Our name is inspired by the speed of the legendary SR-71 Blackbird spy plane, which famously was fast enough to outrun missiles fired at it.
Performance is one of our guiding principles and care is being taken to ensure that both our web app and terminal app are as fast as possible.