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、名称和一个操作来定义。您可以通过访问 URLhttps://<rhdh_url>/create/actions 来查看 Red Hat Developer Hub 实例中可用的操作
。 - 8
- 使用
output
部分指定使用模板时创建的输出数据的结构。输出
部分(特别是links
子部分)提供了重要的引用和 URL,供用户访问并从模板创建的组件进行交互。 - 9
- 提供与生成的组件关联的存储库的引用或 URL。
- 10
- 提供引用或 URL,允许用户在列出各种组件的目录或目录中打开生成的组件。