第 1 章 自定义示例软件模板
了解如何根据您的现场环境自定义随时可用的软件模板。作为集群管理员,您可以完全控制修改元数据和规格,以符合您的部署需求。
先决条件
在进行更改前,请确保以下内容:
- 您已在 RHADS - SSC 安装过程中使用 tssc-sample-templates 中的分叉存储库 URL。
- 您已分叉并克隆 tssc-sample-jenkins 管道模板。
- 您分叉的存储库最新,并与上游存储库同步。
流程
-
克隆 fork 的
tssc-sample-templates存储库,然后在您首选的文本编辑器中打开它,如 Visual Studio Code。 在项目目录中查找 属性文件。此文件存储您可以自定义的默认值。打开它以编辑,并根据您的环境更新以下键值对。
Expand 键 描述 export GITHUB_DEFAULT_HOST
把它设置为您的 on-prem GitHub 主机完全限定域名。也就是说,没有
HTTP协议的 URL,没有.git扩展。For example github-github.apps.cluster-ljg9z.sandbox219.opentlc.com.默认为github.com。export GITLAB_DEFAULT_HOST
把它设置为您的 on-prem GitLab 主机完全限定域名。也就是说,没有
HTTP协议的 URL,没有.git扩展。For example gitlab-gitlab.apps.cluster-ljg9z.sandbox219.opentlc.com.默认为gitlab.com。export QUAY_DEFAULT_HOST
默认 Quay URL 对应于没有
HTTP协议的特定 on-prem 镜像 registry URL。For example, quay-tv2pb.apps.cluster-tv2pb.sandbox1194.opentlc.com.默认的 quay 主机为quay.io。导出 DEFAULT_DEPLOYMENT_NAMESPACE_PREFIX
RHADS - SSC 中部署的命名空间前缀。默认为
tssc-app。注意如果您在 RHADS - SSC 安装过程中修改了默认的
developerHub: namespacePrefixes,请更新此项。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
./generate.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow 图 1.2. generate.sh 脚本
仅限 Jenkins:要自定义 Jenkins 库,请导航到 skeleton > ci > gitops-template > jenkins,并打开 Jenkinsfile。
将远程URL 替换为您的已分叉存储库的 URL。例如,remote: 'https://github.com/<username>/tssc-sample-jenkins.git'。另外,如果您的 Jenkins 位于非本地 OpenShift 实例,并且您的 Rekor 和 TUF 服务位于不同的集群中,请更新
REKOR_HOST和TUF_MIRROR环境变量。您可以在组件存储库的 env.sh 文件中配置 这些变量,或者将其设置为 Jenkins 中的环境变量或机密。此配置可确保您的外部 Jenkins 服务器可以与安装 RHADS - SSC 的 Rekor 和 TUF 通信。如果没有此,RHADS - SSC 可能无法在 Jenkins 管道中正确签署容器镜像。更新
REKOR_HOST和TUF_MIRROR变量:通过 skeleton > ci > gitops-template > jenkins > tssc 打开 env.sh 文件。
第二个 env.sh 文件位于 skeleton > ci > source-repo > jenkins > tssc。选出适合您需要或更新两者的那一个。
在 env.sh 中,查看
REKOR_HOST和TUF_MIRROR的默认值:REKOR_HOST=http://rekor-server.tssc-tas.svc TUF_MIRROR=http://tuf.tssc-tas.svc
REKOR_HOST=http://rekor-server.tssc-tas.svc TUF_MIRROR=http://tuf.tssc-tas.svcCopy to Clipboard Copied! Toggle word wrap Toggle overflow 将
.svc替换为您的 OpenShift 集群 URL。.svc域指的是本地集群,内部服务可以在其路由中使用.svc访问其他服务,但外部 Jenkins 无法访问。Rekor 和 TUF 服务的正确路由作为 RHADS 的安装过程的一部分打印 - SSC。如果这些数据不适用于您,请在 CLI 中运行这个命令,并在输出中选择 Rekor 和 TUF 路由:
oc get routes -n tssc-tas
$ oc get routes -n tssc-tasCopy to Clipboard Copied! Toggle word wrap Toggle overflow 一个 Rekor 服务器 URL 示例: http://rekor-server.tssc-tas.apps.rosa.j6ufg-t3htv-ts6.z797.p3.openshiftapps.com。
注意- 要在 Jenkins 中配置环境变量或机密,请参阅 Adding secrets to Jenkins 以便与外部工具集成。
- 默认情况下,RHADS - SSC 使用动态加载的 Jenkins 库。如果需要将 RHADS - SSC 配置为使用内置 Jenkins 库而不是动态加载,您必须修改 Jenkins 置备设置。此更改可以在测试时提高可追溯性和企业合同。具体步骤请参阅 配置 RHADS - SSC 以使用内置 Jenkins 库。
-
仅限 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 中的模板。
验证
- 考虑创建应用以探索模板自定义的影响。