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

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

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

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

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

前提条件

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

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

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

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

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

操作步骤

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

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

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

  4. 在页面点击创建

  5. 构建模式页签,根据源代码的语言选择 JavaNode.jsPython,然后点击下一步

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

    参数 描述

    构建环境

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

    代码仓库 URL

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

    代码仓库分支

    源代码所在的分支。

    代码仓库密钥

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

    镜像名称

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

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

    镜像标签

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

    目标镜像服务

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

    触发令牌

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

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

    代码相对路径

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

    环境变量

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

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