×

启动构建

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

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

    $ 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 源代码拉取,源代码可以是 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和Secret添加**。

  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 命令查看构建详情。

这将显示以下信息:

  • 构建源。

  • 构建策略。

  • 输出目标。

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

  • 构建的创建方式。

如果构建使用Source策略,则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环境变量作为BuildConfigsourceStrategy的一部分来传递,从而启用更详细的输出。

管理员可以通过配置env/BUILD_LOGLEVEL来设置整个 Red Hat OpenShift Service on AWS 实例的默认构建详细程度。可以通过在给定的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 将此值调整为所需的日志级别。