Jenkins 具有持久磁盘的Kubernetes GKE

Jenkins 具有持久磁盘的Kubernetes GKE,jenkins,kubernetes,unreal-engine4,google-kubernetes-engine,Jenkins,Kubernetes,Unreal Engine4,Google Kubernetes Engine,我正在尝试以可扩展的方式设置CI。 目前,我们在GCE上有一个Windows服务器虚拟机,Jenkins不时在上面运行作业 然而,随着我们将增加更多的工作,我们希望有一个可扩展的系统 但也有一些限制: 引擎(自定义UE4引擎)的Performce(p4)同步了大量数据。然后它就建成了(需要一段时间)。这很少更新 我们产品的p4同步了大量数据。目前,每次构建时,我们都会执行一个新的p4 sync,以仅检索自上次以来的增量(需要几秒钟)。我们有一个持久磁盘。检索完整数据需要45分钟-1小时(不包括

我正在尝试以可扩展的方式设置CI。 目前,我们在GCE上有一个Windows服务器虚拟机,Jenkins不时在上面运行作业

然而,随着我们将增加更多的工作,我们希望有一个可扩展的系统

但也有一些限制:

  • 引擎(自定义UE4引擎)的Performce(p4)同步了大量数据。然后它就建成了(需要一段时间)。这很少更新
  • 我们产品的p4同步了大量数据。目前,每次构建时,我们都会执行一个新的
    p4 sync
    ,以仅检索自上次以来的增量(需要几秒钟)。我们有一个持久磁盘。检索完整数据需要45分钟-1小时(不包括丢失的带宽)
所以,我们尝试使用GKE。我们需要以某种方式:

  • 每天晚上(大约),
    p4同步
    构建机器并从中创建一个“映像”,因为它包含最新的数据
  • 让GKE使用新创建的图像
  • 当我们启动作业时,让它使用该图像创建一个容器。这将包含最多24小时前的数据
  • 这个容器将
    p4 sync
    白天发生的变化,执行它需要执行的任何东西,然后消失在深渊中。生成的任何数据都是暂时的,不会影响其他容器
  • 如果多个作业并行运行,则它们不会在同一位置读/写
所以,这是一个大的想法。也许会有更好的主意

现在,我不确定是否:

  • 这是可行的
  • 如何解决这个问题(如果可行)
问候,


Samuel

关于图像的更新,在将更改推送到生成源后,您可以使用该功能构建图像。请记住,云构建只支持云源存储库、GitHub或Bitbucket。不幸的是,我可以找到GKE构建系统的Performce插件

下面是几篇使用Jenkins和Github的文章,用于自动映像构建