构建是将输入参数转换为结果对象的过程。大多数情况下,此过程用于将输入参数或源代码转换为可运行的镜像。BuildConfig
对象是整个构建过程的定义。
OpenShift Container Platform 使用 Kubernetes 从构建镜像创建容器并将它们推送到容器镜像注册表。
构建对象共享一些共同特征,包括构建的输入、完成构建过程的要求、构建过程的日志记录、成功构建的资源发布以及构建的最终状态发布。构建利用资源限制,指定对资源的限制,例如CPU使用率、内存使用率和构建或Pod执行时间。
OpenShift Container Platform 构建系统为基于构建API中指定的可选类型构建策略提供了可扩展的支持。有三种主要的构建策略可用
Docker构建
源到镜像 (S2I) 构建
自定义构建
默认情况下,支持 Docker 构建和 S2I 构建。
构建的结果对象取决于用于创建它的构建器。对于 Docker 和 S2I 构建,结果对象是可运行的镜像。对于自定义构建,结果对象是构建器镜像作者指定的任何内容。
此外,可以使用流水线构建策略来实现复杂的流程
持续集成
持续部署
OpenShift Container Platform 使用 Buildah 从 Dockerfile 构建容器镜像。有关使用 Dockerfile 构建容器镜像的更多信息,请参阅Dockerfile 参考文档。
如果使用 |
源到镜像 (S2I) 是一个构建可重复容器镜像的工具。它通过将应用程序源注入容器镜像并组装新镜像来生成可立即运行的镜像。新镜像包含基础镜像、构建器和构建的源,并可与buildah run
命令一起使用。S2I 支持增量构建,它可以重复使用以前下载的依赖项、以前构建的工件等。
自定义构建策略允许开发人员定义负责整个构建过程的特定构建器镜像。使用您自己的构建器镜像可以自定义构建过程。
自定义构建器镜像是一个嵌入构建过程逻辑的普通容器镜像,例如用于构建RPM或基础镜像。
自定义构建以高权限运行,默认情况下用户无法使用。只有可以信任拥有集群管理员权限的用户才能被授予运行自定义构建的权限。
在OpenShift Container Platform 4中,流水线构建策略已弃用。OpenShift Container Platform Pipelines(基于Tekton)中提供了等效且改进的功能。 OpenShift Container Platform 上的 Jenkins 镜像完全受支持,用户应遵循 Jenkins 用户文档在作业中定义其 |
流水线构建策略允许开发者定义一个 Jenkins 流水线供 Jenkins 流水线插件使用。构建过程可以像任何其他构建类型一样,由 OpenShift Container Platform 启动、监控和管理。
流水线工作流在jenkinsfile
中定义,可以将其直接嵌入到构建配置中,也可以放在 Git 仓库中,然后由构建配置引用。