×

启动构建

您可以从当前项目中现有的构建配置手动启动新的构建。

步骤
  • 要手动启动构建,请输入以下命令

    $ oc start-build <buildconfig_name>

重新运行构建

您可以使用--from-build标志手动重新运行构建。

步骤
  • 要手动重新运行构建,请输入以下命令

    $ oc start-build --from-build=<build_name>

流式传输构建日志

您可以指定--follow标志以在stdout中流式传输构建的日志。

步骤
  • 要手动在stdout中流式传输构建的日志,请输入以下命令

    $ oc start-build <buildconfig_name> --follow

启动构建时设置环境变量

您可以指定--env标志为构建设置任何所需的 环境变量。

步骤
  • 要指定所需的 环境变量,请输入以下命令

    $ oc start-build <buildconfig_name> --env=<key>=<value>

使用源代码启动构建

您可以通过直接推送源代码来启动构建,而无需依赖于Git源代码拉取或Dockerfile,该源代码可以是Git或SVN工作目录的内容、要部署的一组预构建二进制工件或单个文件。这可以通过为start-build命令指定以下选项之一来完成

选项 描述

--from-dir=<directory>

指定一个将被存档并用作构建的二进制输入的目录。

--from-file=<file>

指定一个将成为构建源中唯一文件的单个文件。该文件放置在空目录的根目录中,文件名与提供的原始文件名相同。

--from-repo=<local_source_repo>

指定本地存储库的路径,用作构建的二进制输入。添加--commit选项以控制用于构建的分支、标签或提交。

当直接将这些选项中的任何一个传递到构建时,内容将流式传输到构建并覆盖当前构建源设置。

从二进制输入触发的构建不会在服务器上保留源代码,因此由基本镜像更改触发的重新构建将使用构建配置中指定的源代码。

步骤
  • 要从源代码存储库启动构建并将本地Git存储库的内容作为标记v2的存档发送,请输入以下命令

    $ oc start-build hello-world --from-repo=../hello-world --commit=v2

取消构建

您可以使用 Web 控制台或以下 CLI 命令取消构建。

步骤
  • 要手动取消构建,请输入以下命令

    $ oc cancel-build <build_name>

取消多个构建

您可以使用以下 CLI 命令取消多个构建。

步骤
  • 要手动取消多个构建,请输入以下命令

    $ oc cancel-build <build1_name> <build2_name> <build3_name>

取消所有构建

您可以使用以下 CLI 命令取消构建配置中的所有构建。

步骤
  • 要取消所有构建,请输入以下命令

    $ oc cancel-build bc/<buildconfig_name>

取消处于给定状态的所有构建

您可以取消处于给定状态(例如 newpending)的所有构建,同时忽略其他状态下的构建。

步骤
  • 要取消处于给定状态的所有构建,请输入以下命令

    $ oc cancel-build bc/<buildconfig_name>

编辑 BuildConfig

要编辑您的构建配置,请使用**开发者**视角**构建**视图中的**编辑 BuildConfig**选项。

您可以使用以下任一视图来编辑BuildConfig

  • **表单视图**允许您使用标准表单字段和复选框来编辑您的BuildConfig

  • **YAML 视图**允许您完全控制操作来编辑您的BuildConfig

您可以在**表单视图**和**YAML 视图**之间切换而不会丢失任何数据。**表单视图**中的数据会传输到**YAML 视图**,反之亦然。

步骤
  1. 在**开发者**视角的**构建**视图中,点击选项菜单 kebab 以查看**编辑 BuildConfig**选项。

  2. 点击**编辑 BuildConfig**查看**表单视图**选项。

  3. 在**Git**部分,输入您要用于创建应用程序的代码库的 Git 仓库 URL。然后将验证 URL。

    • 可选:点击**显示高级 Git 选项**以添加详细信息,例如:

      • **Git 参考**用于指定包含要用于构建应用程序的代码的分支、标签或提交。

      • **上下文目录**用于指定包含要用于构建应用程序的代码的子目录。

      • **源代码密钥**用于使用凭据创建一个**密钥名称**,以便从私有仓库拉取您的源代码。

  4. 在**构建来源**部分,选择您要从中构建的选项。您可以使用以下选项:

    • **镜像流标签**引用给定镜像流和标签的镜像。输入您要从中构建和推送到的位置的项目、镜像流和标签。

    • **镜像流镜像**引用给定镜像流和镜像名称的镜像。输入您要从中构建的镜像流镜像。还要输入要推送到的项目、镜像流和标签。

    • **Docker 镜像**: Docker 镜像通过 Docker 镜像仓库引用。您还需要输入项目、镜像流和标签来指定您要推送到的位置。

  5. 可选:在**环境变量**部分,使用**名称**和**值**字段添加与项目关联的环境变量。要添加更多环境变量,请使用**添加值**,或**从 ConfigMap 添加**和**密钥**。

  6. 可选:要进一步自定义您的应用程序,请使用以下高级选项:

    触发器

    当构建器镜像更改时触发新的镜像构建。点击**添加触发器**并选择**类型**和**密钥**以添加更多触发器。

    密钥

    为您的应用程序添加密钥。点击**添加密钥**并选择**密钥**和**挂载点**以添加更多密钥。

    策略

    点击**运行策略**以选择构建运行策略。所选策略决定了从构建配置创建的构建必须运行的顺序。

    钩子

    选择**构建镜像后运行构建钩子**以在构建结束时运行命令并验证镜像。添加**钩子类型**、**命令**和**参数**以附加到命令。

  7. 点击**保存**以保存BuildConfig

删除 BuildConfig

您可以使用以下命令删除BuildConfig

步骤
  • 要删除BuildConfig,请输入以下命令

    $ oc delete bc <BuildConfigName>

    这也会删除从此BuildConfig实例化的所有构建。

  • 要删除BuildConfig并保留从此BuildConfig实例化的构建,请在输入以下命令时指定--cascade=false标志

    $ oc delete --cascade=false bc <BuildConfigName>

查看构建详细信息

您可以使用 Web 控制台或oc describe CLI 命令查看构建详细信息。

这将显示以下信息:

  • 构建源。

  • 构建策略。

  • 输出目标。

  • 目标注册表中镜像的摘要。

  • 构建的创建方式。

如果构建使用DockerSource策略,则oc describe输出还包括有关构建使用的源代码修订版本的信息,包括提交 ID、作者、提交者和消息。

步骤
  • 要查看构建详细信息,请输入以下命令

    $ oc describe build <build_name>

访问构建日志

您可以使用 Web 控制台或 CLI 访问构建日志。

步骤
  • 要直接使用构建流式传输日志,请输入以下命令

    $ oc describe build <build_name>

访问 BuildConfig 日志

您可以使用 Web 控制台或 CLI 访问BuildConfig日志。

步骤
  • 要流式传输BuildConfig的最新构建的日志,请输入以下命令

    $ oc logs -f bc/<buildconfig_name>

访问给定版本构建的 BuildConfig 日志

您可以使用 Web 控制台或 CLI 访问BuildConfig的给定版本构建的日志。

步骤
  • 要流式传输BuildConfig的给定版本构建的日志,请输入以下命令

    $ oc logs --version=<number> bc/<buildconfig_name>

启用日志详细程度

您可以通过将BUILD_LOGLEVEL环境变量作为BuildConfig中的sourceStrategydockerStrategy的一部分传递来启用更详细的输出。

管理员可以通过配置env/BUILD_LOGLEVEL来设置整个 OpenShift Container Platform 实例的默认构建详细程度。可以通过在给定的BuildConfig中指定BUILD_LOGLEVEL来覆盖此默认值。对于非二进制构建,您可以通过将--build-loglevel传递给oc start-build来在命令行上指定更高优先级的覆盖。

源构建的可用日志级别如下所示:

级别 0

生成运行assemble脚本的容器的输出和所有遇到的错误。这是默认值。

级别 1

生成有关已执行过程的基本信息。

级别 2

生成有关已执行过程的非常详细的信息。

级别 3

生成有关已执行过程的非常详细的信息,以及存档内容的列表。

级别 4

目前生成的与级别 3 相同的信息。

级别 5

生成前面级别中提到的所有内容,此外还提供 docker push 消息。

步骤
  • 要启用更详细的输出,请将BUILD_LOGLEVEL环境变量作为BuildConfig中的sourceStrategydockerStrategy的一部分传递。

    sourceStrategy:
    ...
      env:
        - name: "BUILD_LOGLEVEL"
          value: "2" (1)
    1 将此值调整为所需的日志级别。