zuul-jobs/roles/mirror-workspace-git-repos
Benjamin Schanzel f18644891d Kubernetes Node Support for Mirroring Git Repos
The `mirror-workspace-git-repos` uses Git to mirror repos from the
executor to build nodes. This comes in handy when the node already
holds a copy of the repo(s), as Git can incrementally update them.
Currently, `mirror-workspace-git-repos` assumes the build node is
directly reachable via ssh. This is (usually) not the case when
running against a Kubernetes Pod build node, thus we can not
efficiently update repos on such nodes using Git.
This change allows pushing Git repos to Kubernetes Pods by bridging
the Git communication over `kubectl` and thereby allowing for the
same behaviour as for standard, non-container, ssh-reachable build
nodes.
(cf. https://git-scm.com/docs/git-remote-ext)

Change-Id: I71919d3bc93e48d5bb24234265fca9c84ce23b87
2020-03-09 14:44:24 +01:00
..
defaults Optionally silence git in mirror-workspace-git-repos 2019-02-14 08:52:38 +01:00
tasks Kubernetes Node Support for Mirroring Git Repos 2020-03-09 14:44:24 +01:00
README.rst Optionally silence git in mirror-workspace-git-repos 2019-02-14 08:52:38 +01:00

Mirror the local git repos to remote nodes

This role uses git operations (unlike :zuulprepare-workspace which uses rsync) to mirror the local prepared git repos to the remote nodes. This may be useful if the remote node already has a copy of some or all of the git repos.

Role Variables