-
Notifications
You must be signed in to change notification settings - Fork 237
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Buildkite documentation experience #263
Comments
This is amazing, thank you @benschwarz, we'll digest. |
Thanks for taking the time to document the experience! 🙏🏼 |
Hey folks, I think we've implemented a lot of this (search, environment variables, consolidating info in docs). <3 Closing for now. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Heyo 👋
I spent some time yesterday updating a @calibreapp test suite (Rails app) to break the job into a number of steps, rather than one big, long running
rake spec
task.I ended up with tabs open to a lot of different buildkite repos, the docs site, and a chat window to @toolmantim.
I've been using all of this technology for a long time, but I found the process to be confusing, and a bit of a cycle of
commit→:boom:→furiously google, open 4 tabs, sometimes to tabs recently closed, scroll up and down→try again
for a couple of hours. It was frustrating!I'm hopeful that by documenting some of the things that I went through, or faced, that it'll highlight some of the work that needs to be done to improve documentation.
Background
A sample of the things I saw, did, or wondered
buildkite-agent artifact download
, but had no idea how to most efficiently get thebuildkite-agent
into my container. @toolmantim helped supplied me with:After that, there were some undocumented environment variables that had to be "punched through" the
docker-compose.yml
file (This assumes you know how to do that with a docker-compose, too):From reading a docker-compose file from one of the many Buildkite repos, I'd also noticed the pattern of adding
Gemfile
andGemfile.lock
, bundling, then later adding the entire app. I couldn't remember exactly why people did this. It would be great to have this in BK documentation (and a blog post too). Even if you felt like this was 'well covered elsewhere', it'd likely bring some search traffic when partnered with "buildkite docker gem bundle" as a google search.The docker-compose plugin mentioned
image-repository
, but didn't explain how to authenticate the agent to do this. I raised an issue on that repo, then later found a better description of how to do this with the elastic stack repo readme.Overall, all Buildkite readmes I've looked at mention the:
plugin: docker-compose#version
stanza from pipeline.yml. Unfortunately, they all seem to fail to mention that the v3 agent is required. (Take the docker-compose plugin readme as an example of this). I tried using this stanza, then my build failed and I had to use a lesser documented environment variable instead.I found it difficult to find things under github.com/buildkite, then later realised there was also github.com/buildkite-plugins. This definitely made it harder to find things.
The elastic stack repo has some great content about making docker builds faster, but if I didn't use the elastic stack, I wouldn't have stumbled across it at all. I raised an issue to track this..
In summary, here are the repos/pages that I looked at yesterday:
Apart from that, a bunch of docker docs, searches through random blogs and lots of Googling.
Links to other open issues
<thing>
" into google, I saw that there was a still-open issue raised in 2016 for making docs searchable, but I wanted to +1 it from here too.It'd be great if there was a guide/full recipe for a rails app (or node, python, whatever customers are using most). I really felt like I was on my own here, and it was one failure after the next… I know that's the nature of test suites, but I think some improvements to the existing docs and general standardisation would vastly improve the experience. 👍
The text was updated successfully, but these errors were encountered: