第 1 章 自定义示例软件模板


了解如何根据您的现场环境自定义随时可用的软件模板。集群管理员可以完全控制此过程,包括修改元数据和规格。

先决条件

  • 您已在 RHTAP 安装过程中使用 tssc-sample-templates 中的分叉存储库 URL。
  • 您已分叉并克隆 tssc-sample-jenkins 管道模板。
  • 您必须确保 fork 的版本为最新版本,并与上游存储库同步。

流程

  1. 克隆 fork 的 tssc-sample-templates 存储库,然后在您首选的文本编辑器中打开它,如 Visual Studio Code。
  2. 在项目目录中查找 属性文件。此文件存储您可以自定义的默认值。打开它以编辑,并根据您的环境更新以下键值对。

    描述

    export GITHUB_DEFAULT_HOST

    把它设置为您的 on-prem GitHub 主机完全限定域名。也就是说,没有 HTTP 协议的 URL,没有 .git 扩展。例如 github-github.apps.cluster-ljg9z.sandbox219.opentlc.com。默认为 github.com

    export GITLAB_DEFAULT_HOST

    把它设置为您的 on-prem GitLab 主机完全限定域名。也就是说,没有 HTTP 协议的 URL,没有 .git 扩展。例如 gitlab-gitlab.apps.cluster-ljg9z.sandbox219.opentlc.com。默认为 gitlab.com

    export QUAY_DEFAULT_HOST

    默认 Quay URL 对应于没有 HTTP 协议的特定 on-prem 镜像 registry URL。例如: quay-tv2pb.apps.cluster-tv2pb.sandbox1194.opentlc.com。默认的 quay 主机为 quay.io

    导出 DEFAULT_DEPLOYMENT_NAMESPACE_PREFIX

    RHTAP 中部署的命名空间前缀。默认为 rhtap-app

    注意

    如果您在 RHTAP 安装过程中修改了默认的 trusted-application-pipeline: 命名空间,请更新此项。

    export PIPELINE_REPO_URL

    分叉管道存储库的 URL。例如: https://github.com/redhat-appstudio/tssc-sample-pipelines

    export PIPELINE_REPO_BRANCH

    您要指向的已分叉管道存储库的分支。例如,main

    export GITHUB_DEFAULT_ORG

    要设置为默认的 GitHub 机构名称。

    export QUAY_DEFAULT_ORG

    要设置为默认的 Quay 组织的名称。

    图 1.1. 属性文件

    属性
  3. 在终端中运行 generate.sh 脚本。此操作调整软件模板,使用您指定的输入替换默认主机值。

    ./generate.sh

    图 1.2. generate.sh 脚本

    generate
  4. 仅限 Jenkins:要自定义 Jenkins 库,请导航到 skeleton > ci > jenkins,并打开 Jenkinsfile将远程 URL 替换为您的已分叉存储库的 URL。例如,remote: 'https://github.com/<username>/tssc-sample-jenkins.git'。

    另外,如果您的 Jenkins 位于非本地 OpenShift 实例,并且您的 Rekor 和 TUF 服务位于不同的集群中,则需要更新 env.sh 文件中的 REKOR_HOSTTUF_MIRROR 环境变量。这样可确保您的外部 Jenkins 服务器可以与通过 RHTAP 安装的 Rekor 和 TUF 通信。如果没有此,RHTAP 可能无法在 Jenkins 管道中正确签署容器镜像。

    更新 REKOR_HOSTTUF_MIRROR 变量:

    1. 通过 skeleton > ci > gitops-template > jenkins > rhtap 以打开 env.sh 文件。

      第二个 env.sh 文件位于 skeleton > ci > source-repo > jenkins > rhtap。选出适合您需要或更新两者的那一个。

      env.sh 中,查看 REKOR_HOSTTUF_MIRROR 的默认值:

      REKOR_HOST=http://rekor-server.rhtap-tas.svc
      TUF_MIRROR=http://tuf.rhtap-tas.svc
    2. .svc 替换为您的 OpenShift 集群 URL。.svc 域指的是本地集群,内部服务可以在其路由中使用 .svc 访问其他服务,但外部 Jenkins 无法访问。

      Rekor 和 TUF 服务的正确路由作为 RHTAP 的安装过程的一部分打印。如果这些数据不适用于您,请在 CLI 中运行这个命令,并在输出中选择 Rekor 和 TUF 路由:

      $ oc get routes -n rhtap-tas

      一个 Rekor 服务器 URL 示例: http://rekor-server.rhtap-tas.apps.rosa.j6ufg-t3htv-ts6.z797.p3.openshiftapps.com。

  5. 仅限 RHACS: 要在 env.sh 文件中启用 RHACS 扫描,将 export DISABLE_ACS 设置为 false
  6. 提交更改并将其推送到您的存储库。这会自动更新 RHDH 中的模板。或者,您可以在 RHDH 中直接导入和刷新单个或所有自定义模板。

    1. 进入 Git 供应商上的 fork 示例模板存储库。
    2. 对于单个模板,从 templates 目录中选择 template.yaml。从浏览器地址栏中复制其 URL。例如: https://github.com/<username>/tssc-sample-templates/blob/main/templates/devfile-sample-code-with-quarkus-dance/template.yaml。否则,对于所有模板,请选择 all.yaml 并从浏览器地址栏中复制其 URL。例如: https://github.com/<username>/tssc-sample-templates/blob/main/all.yaml。
    3. 切回到 RHDH 平台。
    4. 选择 Create > Register Existing Component
    5. Select URL 字段中,粘贴在第 4b 步中复制的适当 URL。
    6. 选择 Analyze,然后选择 Import 以更新 RHDH 中的模板。

验证

  • 考虑创建应用以探索模板自定义的影响。

其他资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.