I'm trying to setup our CI in a scalable way. Currently, we have a Windows Server VM on GCE and Jenkins runs jobs on it from time to time.
However, as we'll add more jobs, we would like to have a scalable system.
There are some constraints though:
p4 sync
to just retrieve the delta (takes a few seconds) since the last time. And we have a persistent disk. Retrieving the full data would take 45 min - 1 hour (not counting the lost bandwidth).So, we're trying to use GKE. We would need to somehow:
p4 sync
the build machine and create an "image" from it now that it contains the latest data.p4 sync
what has changed during the day, execute whatever it needs to execute, then disappear into the abyss. Whatever generated data would be transient and not affect other containers.So, this is the big-picture idea. There might be better ideas.
Right now, I'm not sure if:
Regards,
Samuel
Regarding updates for your image, you may use the Build Trigger feature to construct your image after changes are pushed to the build source. Keep in mind that Cloud Build only supports Cloud Source Repository, GitHub, or Bitbucket. Unfortunately, I could find Perforce plugins for GKE build systems.
Here’s a couple of articles using Jenkins and Github; article1, article2, for automated image builds.