本节介绍如何将源代码构建成容器镜像 (S2I)。

镜像构建器开始运行后将自动进行以下操作:

  1. 连接用户指定的源代码仓库并获取应用程序的源代码。

  2. 使用镜像构建器将源代码构建为容器镜像。

  3. 将容器镜像推送到用户指定的镜像服务。

前提条件

  • 您需要加入一个项目并在项目中具有应用负载管理权限。有关更多信息,请参阅项目成员和项目角色。

  • 您需要具有可用的代码仓库。KubeSphere 默认支持 Git 仓库和 Java、Node.js 和 Python 源代码。

  • 如果您使用私有代码仓库,您需要提前在项目中创建用于保存代码仓库密钥的保密字典。有关更多信息,请参阅创建保密字典。

  • 您需要具有可用的容器镜像服务用于保存构建生成的容器镜像。有关更多信息,请参阅 Docker 官方文档。

  • 您需要提前在项目中创建用于保存镜像服务信息的保密字典。有关更多信息,请参阅创建保密字典。

操作步骤

  1. 以具有应用负载管理权限的用户登录 KubeSphere Web 控制台并进入您的企业空间。

  2. 在左侧导航栏选择镜像构建器。

  3. 在页面左上角的下拉列表中选择一个项目。

  4. 在页面点击创建。

  5. 在构建模式页签,根据源代码的语言选择 Java、Node.js 或 Python,然后点击下一步。

  6. 在构建设置页签,设置构建环境、代码仓库信息和镜像服务信息,然后点击创建。

    参数 描述

    构建环境

    容器镜像的构建环境。请根据源代码的语言和版本选择构建环境。

    代码仓库 URL

    源代码仓库的地址。目前仅支持 Git 仓库。

    代码仓库分支

    源代码所在的分支。

    代码仓库密钥

    如果您的代码仓库需要验证,请选择包含代码仓库密钥的保密字典。

    镜像名称

    构建生成的目标容器镜像名称。名称只能包含小写字母、数字、连字符(-)、句点(.)、斜钱(/)和冒号(:),并以小写字母或数字开头和结尾。

    镜像名称应包含镜像的命名空间,例如 <DOCKERHUB_USERNAME>/<IMAGE NAME>。如果未输入命名空间,系统将自动添加命名空间 library,实际镜像名称为library/<IMAGE NAME>。

    镜像标签

    构建生成的目标容器镜像标签。

    目标镜像服务

    用于存放目标镜像的镜像服务。请选择包含镜像服务信息的保密字典。

    触发令牌

    客户端通过 Webhook 触发 KubeSphere 镜像构建时所使用的认证令牌。如果已设置的令牌,请求需要提供正确令牌才能触发镜像构建。令牌只能包含大写字母、小写字母和数字。

    服务创建完成后,KubeSphere 将创建镜像构建器并提供 URL 可用于第三方应用程序触发镜像构建。您在可以镜像构建器的详情页面获取 URL。

    代码相对路径

    源代码在代码仓库中的路径。

    环境变量

    镜像运行时的环境变量,用于控制镜像运行时的行为。

    镜像构建器创建完成后将显示在镜像构建器列表中。