Bug #3725
closedJenkins isn't using the credentials store for uploading to rita.osmocom.org
100%
Description
The jenkins jobs generated by osmo-ci.git/jobs/master-buils.yml need to be able to upload artifacts to rita.osmocom.org (generated PDF manuals, generated firmware files).
Right now, we have the SSH keys of each build slave configured in the authorized_keys of rita.osmocom.org, but that does obviously not scale.
laforge wrote in #3720:
The proper solution is to use the jenkins server credentials store, which will hold the private key and provision it to the client via ssh-agent. That way the client can upload to the server, and no per-slave configuration is required on the ftp server.
Some of the scripts that require the SSH keys are running in docker. Right now we are mounting ~/.ssh in the containers, using the ssh-agent should be possible when mounting the socket and passing the environment variable:
docker run --rm -it --name container_name \ -v $(dirname $SSH_AUTH_SOCK):$(dirname $SSH_AUTH_SOCK) \ -e SSH_AUTH_SOCK=$SSH_AUTH_SOCK my_image
Related issues
Updated by osmith over 5 years ago
- Subject changed from Jenkins isn't using SSH Agent for uploading to rita.osmocom.org to Jenkins isn't using the credentials store for uploading to rita.osmocom.org
Updated by osmith over 5 years ago
- Related to Bug #3720: Jenkins can't upload to rita.osmocom.org added
Updated by osmith over 5 years ago
- Related to Feature #3385: Move project specific manuals from osmo-gsm-manuals to each respective git repository added
Updated by osmith over 5 years ago
laforge: reading the ML thread again, you proposed separating the "publish artifacts" code and running it outside of Docker after the build. That would be a lot more effort. What do you think about simply passing the socket as described above, if it works?
Updated by osmith over 5 years ago
- Related to Bug #3726: Jenkins: build all Osmocom projects in docker, not only some added
Updated by osmith about 5 years ago
- Related to Bug #3722: osmo_clock_gettime broke build on MacOS added
Updated by osmith about 5 years ago
- Related to deleted (Bug #3722: osmo_clock_gettime broke build on MacOS)
Updated by osmith about 5 years ago
- Related to Bug #3772: new build host tcc-deb9build: failure to push manuals added
Updated by laforge about 5 years ago
- Priority changed from High to Normal
osmith wrote:
laforge: reading the ML thread again, you proposed separating the "publish artifacts" code and running it outside of Docker after the build. That would be a lot more effort. What do you think about simply passing the socket as described above, if it works?
I think if we touch it, we should do it properly (i.e. split it into separate steps).
Updated by laforge about 4 years ago
this has just come up again in a very bad way: After reinstalling build2, all upload jobs failed, until I (now) manually added the new SSH keys. This is a big stinking hack.