4.2. 将模板创建为 YAML 文件


您可以通过将 Template 对象定义为 YAML 文件来创建模板。

Template 对象描述了模板及其元数据。它还包含所需的输入变量,以及构建服务所执行的操作列表。

模板 对象示例

apiVersion: scaffolder.backstage.io/v1beta3
kind: Template
metadata:
  name: template-name 1
  title: Example template 2
  description: An example template for v1beta3 scaffolder. 3
spec:
  owner: backstage/techdocs-core 4
  type: service 5
  parameters: 6
    - title: Fill in some steps
      required:
        - name
      properties:
        name:
          title: Name
          type: string
          description: Unique name of the component
        owner:
          title: Owner
          type: string
          description: Owner of the component
    - title: Choose a location
      required:
        - repoUrl
      properties:
        repoUrl:
          title: Repository Location
          type: string
  steps: 7
    - id: fetch-base
      name: Fetch Base
      action: fetch:template
      # ...
  output: 8
    links:
      - title: Repository 9
        url: ${{ steps['publish'].output.remoteUrl }}
      - title: Open in catalog 10
        icon: catalog
        entityRef: ${{ steps['register'].output.entityRef }}
# ...

1
为模板指定一个名称。
2
指定模板的标题。这是在 Create…​ 视图中模板标题中可见的标题。
3
指定模板的描述。这是在 Create…​ 视图中模板标题上可见的描述。
4
指定模板的所有权。owner 字段提供有关负责维护或监督系统或机构中模板的信息。在提供的示例中,owner 字段设为 backstage/wagon-core。这意味着此模板属于 backstage 命名空间中的 HEKETI-core 项目。
5
指定组件类型。此必填字段接受任何字符串值,但您的组织应针对这些必填字段建立正确的税务。Red Hat Developer Hub 实例可能会读取此字段,并的行为因其值而异。例如,Web 站点类型组件可能会在特定于网站的 Red Hat Developer Hub 界面中显示工具。

以下值对于此字段是通用的:

service
后端服务,通常公开 API。
网站
网站。
library
软件库,如 npm 模块或 Java 库。
6
使用 parameters 部分为用户输入指定参数,当用户使用 Red Hat Developer Hub 控制台中的模板创建组件时,以表单视图显示的参数。每个 parameters 子部分由标题和属性定义,创建一个新的表单页面,其中包含该定义。
7
使用 steps 部分指定后端中执行的步骤。这些步骤必须使用唯一步骤 ID、名称和一个操作来定义。您可以通过访问 URL https://<rhdh_url>/create/actions 来查看 Red Hat Developer Hub 实例中可用的操作
8
使用 output 部分指定使用模板时创建的输出数据的结构。输出 部分(特别是 links 子部分)提供了重要的引用和 URL,供用户访问并从模板创建的组件进行交互。
9
提供与生成的组件关联的存储库的引用或 URL。
10
提供引用或 URL,允许用户在列出各种组件的目录或目录中打开生成的组件。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.