0

用于启动 S2I(源到映像)构建的 Openshift CLI 命令如下所示:

oc start-build buildname --from-dir=./someDirectory--wait=true

但是我们怎样才能执行一些shell命令呢?os start-build将创建映像(在构建定义中描述)并复制someDirectory到它,但是如果我们需要对该映像进行额外配置,而不仅仅是将编译后的源代码推送到那里呢?

4

1 回答 1

1

有几个选择:

  • 在 Dockerfile 中提供一个层
  • 覆盖汇编脚本

汇编脚本覆盖选项:

  • 提供.s2i/bin/assemble到代码仓库
  • 在 BuildConfig 中使用包含脚本的目录的 URL指定spec.strategy.sourceStrategy.scripts (请参阅覆盖构建器图像脚本

您可以在s2i中检查汇编脚本和 s2i 工作流程的示例,或者有一个简单的示例:

#!/bin/bash

# Run additional build before steps

# Execute original assemble script.
/usr/libexec/s2i/assemble

# Run additional build after steps

此外,还有 postCommit构建钩子,它在提交图像之后和将其推送到注册表之前执行。它在临时容器中执行,因此只能用于进行一些测试。

于 2020-01-16T22:50:49.533 回答