第 1 章 自定义示例软件模板
了解如何根据您的现场环境自定义随时可用的软件模板。集群管理员可以完全控制此过程,包括修改元数据和规格。
先决条件
- 您已在 RHTAP 安装过程中使用 tssc-sample-templates 中的分叉存储库 URL。
- 您已分叉并克隆 tssc-sample-jenkins 管道模板。
- 您必须确保 fork 的版本为最新版本,并与上游存储库同步。
流程
-
克隆 fork 的
tssc-sample-templates
存储库,然后在您首选的文本编辑器中打开它,如 Visual Studio Code。 在项目目录中查找 属性文件。此文件存储您可以自定义的默认值。打开它以编辑,并根据您的环境更新以下键值对。
键 描述 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. 属性文件
在终端中运行 generate.sh 脚本。此操作调整软件模板,使用您指定的输入替换默认主机值。
./generate.sh
图 1.2. generate.sh 脚本
仅限 Jenkins:要自定义 Jenkins 库,请导航到 skeleton > ci > jenkins,并打开 Jenkinsfile。
将远程
URL 替换为您的已分叉存储库的 URL。例如,remote: 'https://github.com/<username>/tssc-sample-jenkins.git'。另外,如果您的 Jenkins 位于非本地 OpenShift 实例,并且您的 Rekor 和 TUF 服务位于不同的集群中,则需要更新 env.sh 文件中的
REKOR_HOST
和TUF_MIRROR
环境变量。这样可确保您的外部 Jenkins 服务器可以与通过 RHTAP 安装的 Rekor 和 TUF 通信。如果没有此,RHTAP 可能无法在 Jenkins 管道中正确签署容器镜像。更新
REKOR_HOST
和TUF_MIRROR
变量:通过 skeleton > ci > gitops-template > jenkins > rhtap 以打开 env.sh 文件。
第二个 env.sh 文件位于 skeleton > ci > source-repo > jenkins > rhtap。选出适合您需要或更新两者的那一个。
在 env.sh 中,查看
REKOR_HOST
和TUF_MIRROR
的默认值:REKOR_HOST=http://rekor-server.rhtap-tas.svc TUF_MIRROR=http://tuf.rhtap-tas.svc
将
.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。
-
仅限 RHACS: 要在 env.sh 文件中启用 RHACS 扫描,将
export DISABLE_ACS
设置为false
。 提交更改并将其推送到您的存储库。这会自动更新 RHDH 中的模板。或者,您可以在 RHDH 中直接导入和刷新单个或所有自定义模板。
- 进入 Git 供应商上的 fork 示例模板存储库。
-
对于单个模板,从
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。 - 切回到 RHDH 平台。
- 选择 Create > Register Existing Component。
- 在 Select URL 字段中,粘贴在第 4b 步中复制的适当 URL。
- 选择 Analyze,然后选择 Import 以更新 RHDH 中的模板。
验证
- 考虑创建应用以探索模板自定义的影响。
其他资源
- 要自定义管道,请参阅自定义示例管道模板