-
Notifications
You must be signed in to change notification settings - Fork 3.8k
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
build: automate building and pushing of new build/builder*
images
#56987
Comments
It's necessary to `docker login` our TeamCity build agents as a service account so they can push new `build/builder` images (see cockroachdb#56987), but in the absence of this change, attempting to do that fails with an error like this: ``` Error saving credentials: error storing credentials - err: exit status 1, out: Cannot autolaunch D-Bus without X11 $DISPLAY ``` This is apparently because the `secretservice` binary has an X11 dependency, and `docker login` on Linux [falls back on `secretservice`]( https://docs.docker.com/engine/reference/commandline/login/#credentials-store) if it can't find the `pass` binary. To address this, just install the `pass` binary, which doesn't depend on X11. Release note: None
57747: build: install pass, gnupg2 in teamcity agents r=kenliu a=rickystewart It's necessary to `docker login` our TeamCity build agents as a service account so they can push new `build/builder` images (see #56987), but in the absence of this change, attempting to do that fails with an error like this: ``` Error saving credentials: error storing credentials - err: exit status 1, out: Cannot autolaunch D-Bus without X11 $DISPLAY ``` This is apparently because the `secretservice` binary has an X11 dependency, and `docker login` on Linux [falls back on `secretservice`]( https://docs.docker.com/engine/reference/commandline/login/#credentials-store) if it can't find the `pass` binary. To address this, just install the `pass` binary, which doesn't depend on X11. Release note: None Co-authored-by: Ricky Stewart <ricky@cockroachlabs.com>
This is implemented as |
I noticed I forgot a step for updating the documentation. Can you also update the related docs here to reflect the new workflow? And I'm curious, what is the workflow you envisioned with this implementation? I imagine it would be something like this:
|
…hdb#56987 Release note: None
Yes, that's essentially the shape of the workflow that I imagined. I've submitted a pull request to update the docs accordingly (#59861). |
…hdb#56987 Release note: None
…hdb#56987 Release note: None
The current process for building and pushing a new builder image (
build/builder*
) requires the engineer making the changes to manually push the image to DockerHub. Instead, we want to put that capability into a TeamCity build configuration.The workflow for this might look like:
build/builder/Dockerfile
locallyThe text was updated successfully, but these errors were encountered: