2.7. 执行基本构建
以下小节提供了基本构建操作的说明,包括启动和取消构建、删除 BuildConfig、查看构建详情,以及访问构建日志。
2.7.1. 启动构建
您可以从当前项目中的现有构建配置手动启动新构建。
流程
要手动启动构建,请输入以下命令:
$ oc start-build <buildconfig_name>
2.7.1.1. 重新运行构建
您可以使用 --from-build
标志,手动重新运行构建。
流程
要手动重新运行构建,请输入以下命令:
$ oc start-build --from-build=<build_name>
2.7.1.2. 流传输构建日志
您可以指定 --follow
标志,在 stdout
中输出构建日志。
流程
要在
stdout
中手动输出构建日志,请输入以下命令:$ oc start-build <buildconfig_name> --follow
2.7.1.3. 在启动构建时设置环境变量
您可以指定 --env
标志,为构建设置任何所需的环境变量。
流程
要指定所需的环境变量,请输入以下命令:
$ oc start-build <buildconfig_name> --env=<key>=<value>
2.7.1.4. 使用源启动构建
您可以通过直接推送源来启动构建,而不依赖于 Git 源拉取或构建的 Dockerfile;源可以是 Git 或 SVN 工作目录的内容、您想要部署的一组预构建二进制工件,或者单个文件。这可以通过为 start-build
命令指定以下选项之一来完成:
选项 | 描述 |
---|---|
| 指定将要存档并用作构建的二进制输入的目录。 |
| 指定将成为构建源中唯一文件的单个文件。该文件放在空目录的根目录中,其文件名与提供的原始文件相同。 |
|
指定用作构建二进制输入的本地存储库的路径。添加 |
将任何这些选项直接传递给构建时,内容将流传输到构建中并覆盖当前的构建源设置。
从二进制输入触发的构建不会在服务器上保留源,因此基础镜像更改触发的重新构建将使用构建配置中指定的源。
流程
使用以下命令从源启动构建,以将本地 Git 存储库的内容作为标签
v2
的存档发送:$ oc start-build hello-world --from-repo=../hello-world --commit=v2
2.7.2. 取消构建
您可以使用 Web 控制台或通过以下 CLI 命令来取消构建。
流程
要手动取消构建,请输入以下命令:
$ oc cancel-build <build_name>
2.7.2.1. 取消多个构建
您可以使用以下 CLI 命令取消多个构建。
流程
要手动取消多个构建,请输入以下命令:
$ oc cancel-build <build1_name> <build2_name> <build3_name>
2.7.2.2. 取消所有构建
您可以使用以下 CLI 命令取消构建配置中的所有构建。
流程
要取消所有构建,请输入以下命令:
$ oc cancel-build bc/<buildconfig_name>
2.7.2.3. 取消给定状态下的所有构建
您可以取消给定状态下的所有构建,如 new
或 pending
状态,同时忽略其他状态下的构建。
流程
要取消给定状态下的所有内容,请输入以下命令:
$ oc cancel-build bc/<buildconfig_name>
2.7.3. 删除 BuildConfig
您可以使用以下命令来删除 BuildConfig
。
流程
要删除
BuildConfig
,请输入以下命令:$ oc delete bc <BuildConfigName>
这也会删除从此
BuildConfig
实例化的所有构建。要删除
BuildConfig
并保留从BuildConfig
中初始化的构建,在输入以下命令时指定--cascade=false
标志:$ oc delete --cascade=false bc <BuildConfigName>
2.7.4. 查看构建详情
您可以使用 Web 控制台或 oc describe
CLI 命令查看构建详情。
这会显示,包括:
- 构建源。
- 构建策略。
- 输出目的地。
- 目标 registry 中的镜像摘要。
- 构建的创建方式。
如果构建采用 Docker
或 Source
策略,则 oc describe
输出还包括用于构建的源修订的相关信息,包括提交 ID、作者、提交者和消息等。
流程
要查看构建详情,请输入以下命令:
$ oc describe build <build_name>
2.7.5. 访问构建日志
您可以使用 Web 控制台或 CLI 访问构建日志。
流程
要直接使用构建来流传输日志,请输入以下命令:
$ oc describe build <build_name>
2.7.5.1. 访问 BuildConfig 日志
您可以使用 Web 控制台或 CLI 访问 BuildConfig
日志。
流程
要输出
BuildConfig
的最新构建的日志,请输入以下命令:$ oc logs -f bc/<buildconfig_name>
2.7.5.2. 访问给定版本构建的 BuildConfig 日志
您可以使用 Web 控制台或 CLI 访问 BuildConfig
的给定版本构建的日志。
流程
要输出
BuildConfig
的给定版本构建的日志,请输入以下命令:$ oc logs --version=<number> bc/<buildconfig_name>
2.7.5.3. 启用日志详细程度
您可以传递 BUILD_LOGLEVEL
环境变量作为 BuildConfig
中 sourceStrategy
或 dockerStrategy
的一部分,来实现更为详细的输出。
管理员可以通过配置 env/BUILD_LOGLEVEL
,为整个 OpenShift Container Platform 实例设置默认的构建详细程度。此默认值可以通过在给定的 BuildConfig
中指定 BUILD_LOGLEVEL
来覆盖。您可以通过将 --build-loglevel
传递给 oc start-build
,在命令行中为非二进制构建指定优先级更高的覆盖。
源构建的可用日志级别如下:
0 级 |
生成运行 |
1 级 | 生成有关已执行进程的基本信息。 |
2 级 | 生成有关已执行进程的非常详细的信息。 |
3 级 | 生成有关已执行进程的非常详细的信息,以及存档内容的列表。 |
4 级 | 目前生成与 3 级相同的信息。 |
5 级 | 生成以上级别中包括的所有内容,另外还提供 Docker 推送消息。 |
流程
要启用更为详细的输出,请传递
BUILD_LOGLEVEL
环境变量作为BuildConfig
中sourceStrategy
或dockerStrategy
的一部分:sourceStrategy: ... env: - name: "BUILD_LOGLEVEL" value: "2" 1
- 1
- 将此值调整为所需的日志级别。