Jenkins 具有持久磁盘的Kubernetes GKE
我正在尝试以可扩展的方式设置CI。 目前,我们在GCE上有一个Windows服务器虚拟机,Jenkins不时在上面运行作业 然而,随着我们将增加更多的工作,我们希望有一个可扩展的系统 但也有一些限制: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小时(不包括
- 引擎(自定义UE4引擎)的Performce(p4)同步了大量数据。然后它就建成了(需要一段时间)。这很少更新
- 我们产品的p4同步了大量数据。目前,每次构建时,我们都会执行一个新的
,以仅检索自上次以来的增量(需要几秒钟)。我们有一个持久磁盘。检索完整数据需要45分钟-1小时(不包括丢失的带宽)p4 sync
- 每天晚上(大约),
构建机器并从中创建一个“映像”,因为它包含最新的数据p4同步
- 让GKE使用新创建的图像
- 当我们启动作业时,让它使用该图像创建一个容器。这将包含最多24小时前的数据
- 这个容器将
白天发生的变化,执行它需要执行的任何东西,然后消失在深渊中。生成的任何数据都是暂时的,不会影响其他容器p4 sync
- 如果多个作业并行运行,则它们不会在同一位置读/写
- 这是可行的
- 如何解决这个问题(如果可行)
Samuel关于图像的更新,在将更改推送到生成源后,您可以使用该功能构建图像。请记住,云构建只支持云源存储库、GitHub或Bitbucket。不幸的是,我可以找到GKE构建系统的Performce插件 下面是几篇使用Jenkins和Github的文章,用于自动映像构建