从本地文件系统流式传输内容到构建器称为Binary
类型构建。这些构建的BuildConfig.spec.source.type
对应的值为Binary
。
这种源类型是唯一的,因为它仅基于您对oc start-build
的使用而被利用。
|
二进制类型构建需要从本地文件系统流式传输内容,因此无法自动触发二进制类型构建,例如图像更改触发器。这是因为无法提供二进制文件。同样,您也无法从 Web 控制台启动二进制类型构建。
|
要使用二进制构建,请使用以下选项之一调用oc start-build
-
--from-file
:您指定的文件内容将作为二进制流发送到构建器。您还可以指定文件的URL。然后,构建器将数据存储在构建上下文顶部的同名文件中。
-
--from-dir
和--from-repo
:内容将被存档并作为二进制流发送到构建器。然后,构建器在构建上下文目录中提取存档的内容。使用--from-dir
,您还可以指定指向存档的URL,该存档将被提取。
-
--from-archive
:您指定的存档将发送到构建器,并在构建上下文目录中提取。此选项的行为与--from-dir
相同;每当这些选项的参数是目录时,都会首先在您的主机上创建一个存档。
您可以将带有HTTP或HTTPS模式的URL传递给--from-file
和--from-archive
,而不是文件名。当使用URL使用--from-file
时,构建器映像中文件的名称由Web服务器发送的Content-Disposition
标头确定,或者如果标头不存在,则由URL路径的最后一个组件确定。不支持任何形式的身份验证,并且无法使用自定义TLS证书或禁用证书验证。
使用oc new-build --binary=true
时,该命令确保执行与二进制构建相关的限制。生成的BuildConfig
具有Binary
的源类型,这意味着运行此BuildConfig
构建的唯一有效方法是使用oc start-build
和其中一个--from
选项来提供所需的二进制数据。
Dockerfile和contextDir
源选项对二进制构建具有特殊含义。
Dockerfile可以与任何二进制构建源一起使用。如果使用Dockerfile并且二进制流是存档,则其内容将替换存档中任何Dockerfile。如果将Dockerfile与--from-file
参数一起使用,并且文件参数名为Dockerfile,则来自Dockerfile的值将替换来自二进制流的值。
对于封装已提取存档内容的二进制流,contextDir
字段的值将被解释为存档中的子目录,如果有效,则构建器在执行构建之前将更改为该子目录。