7.6. 二进制构建


7.6.1. 简介

OpenShift 中的二进制构建功能使开发人员能够将源或工件直接上传到构建中,而不是从 Git 存储库 URL 中拉取源。任何带有 source、Docker 或 custom 的 BuildConfig 都可以作为二进制构建启动。从本地工件启动构建时,现有源引用将被替换为来自本地用户机器的源。

源可以通过几种方法提供,它们对应于使用 start-build 命令时可用的参数:

  • 来自一个文件(--from-file):构建整个源都由一个文件组成,就会出现这种情况。例如,它可能是用于 Wildfly 构建的 Docker 构建、pom.xmlDockerfile,或用于 Ruby 构建的 Gemfile
  • 来自一个目录(--directory):当源位于本地目录且未提交到 Git 存储库时,请使用此选项。start-build 命令将创建给定目录的存档,并将它上传到构建器,作为来源。
  • 来自存档(--from-archive):当存档和源已存在时,请使用此选项。归档可以是 tartar.gzzip 格式。
  • 来自 Git 存储库(--from-repo):这是用于当前用户本地计算机上的 Git 存储库一部分的源。当前存储库的 HEAD 提交将存档,并发送到 OpenShift 以进行构建。

7.6.1.1. 使用案例

二进制构建删除了构建从现有 Git 存储库拉取源的要求。使用二进制构建的原因包括:

  • 构建和测试本地代码更改.可以从公共存储库中的源克隆,可以将本地更改上传到 OpenShift 中以进行构建。本地更改不必在任何位置提交或推送。
  • 构建私有代码.新的构建可以从头开始作为二进制构建。然后源可以直接从本地工作站上传到 OpenShift,而无需将其签入到 SCM。
  • 使用来自其他源的工件构建镜像。使用 Jenkins 管道时,二进制构建可用于将构建工件与 Maven 或 C 编译器等工具组合使用这些构建的运行时镜像。

7.6.1.2. 限制:

  • 二进制构建不可重复。因为二进制构建需要用户在启动时上传工件,所以 OpenShift 无法重复同一构建,而无需用户每次都重复执行相同的上传。
  • 无法自动触发二进制构建。只有当用户上传所需的二进制工件时,才能手动启动。
注意

作为二进制构建启动的构建可能也具有配置的源 URL。如果是这种情况,触发器将成功启动构建,但源来自配置的源 URL,而不是用户上次运行构建时提供的源 URL。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.