2.2. 构建应用程序
在 RHDH 门户上,选择 Create,然后选择合适的模板。例如,Quarkus Java - Trusted Application Pipeline。
使用 RHTAP 提供的模板在 RHDH 中为您的开发人员构建应用程序或微服务涉及三个主要步骤:
- 提供应用程序信息
- 提供应用程序存储库信息
- 提供部署信息
提供应用程序信息
-
在 Name 字段中,提供应用程序名称。您的名称可以包含小写字母(a-z)、数字(0-9)和短划线(-),但它必须以小写字母数字字符开头和结尾。有效名称的示例为
my-name
或abc-123
,长度范围为 1 到 63 个字符。 -
从 Owner 下拉列表中,为这个应用程序选择适当的 RHDH 组件所有者。默认值为
user:guest
,它会在系统中没有注册特定所有者时显示。如果您还没有注册所有者,请保留默认的user:guest
选择。您可以将guest
替换为您的用户名,以个性化应用程序的所有权。 - 选择 Next。系统显示 Application Repository Information 表单。
提供应用程序存储库信息
从 Host Type 下拉列表中选择一个存储库主机类型:
- GitHub
- GitLab
- Bitbucket
- 在 Repository Name 字段中,使用 A-Z、a-z、0-9、下划线(_)和短划线(-)输入存储库名称。系统将这个名称用于它在主机仓库服务器上创建的存储库。
- 在 Repository Owner 字段中,指定拥有 Git 存储库的机构中的用户名、机构名称或项目。例如,在 Bitbucket 中,您可以通过进入到 Personal Bitbucket 设置来查找您的用户名。
在 Repository Server 字段中,指定存储库服务器:
如果您选择 Host 类型 描述 GitHub
该字段已预先填充
github.com
。但是,您可以在没有HTTP
协议的情况下输入内部主机 URL,而无需.git
扩展。例如:github-github.apps.cluster-ljg9z.sandbox219.opentlc.com
。GitLab
该字段已预先填充
gitlab.com
。但是,您可以在没有HTTP
协议的情况下输入内部主机 URL,而无需.git
扩展。例如,gitlab-gitlab.apps.cluster-ljg9z.sandbox219.opentlc.com
.Bitbucket
该字段已预先填充
bitbucket.org
。-
在 Repository Default Branch 字段中,为您的存储库指定默认分支。默认值为
main
,但您可以指定不同的分支名称。 仅限 Bitbucket:
- 在 Workspace 字段中输入包含项目的工作区的名称。
- 在 Project 字段中,输入项目密钥。项目密钥位于 Bitbucket 中的项目名称旁边。
从 CI Provider 下拉列表中,选择系统用来构建、测试和部署应用程序的持续集成(CI)工具:
对于主机类型 可用的 CI 供应商 Bitbucket
- Jenkins (SLSA 2)
- Tekton (SLSA 3)
- Azure Pipelines (SLSA2) (技术预览)
GitHub
- Jenkins (SLSA 2)
- GitHub Actions (SLSA 2) (技术预览)
- Tekton (SLSA 3)
- Azure Pipelines (SLSA2) (技术预览)
GitLab
- Jenkins (SLSA 2)
- GitLab CI (SLSA 2)
- Tekton (SLSA 3)
重要- 如果将 Bitbucket 用作 Tekton CI 的源存储库,则必须在 Bitbucket 中添加 webhook。
- 如果将 GitLab 用作 Tekton CI 的源存储库,则必须在 GitLab 中添加 webhook。
- 如果使用 GitHub Actions,则必须在 GitHub 中配置所需的 secret。
- 如果使用 GitLab CI,您必须在 GitLab 中配置所需的 secret。
- 如果使用 Azure Pipelines,您必须在 Azure 中配置所需的 secret。
- 如果使用 Jenkins,则必须 将应用程序添加到 Jenkins 中。
- 如果在第 7 步中,您选择的 Azure Pipelines 作为 CI 供应商,UI 会显示 Azure Project 字段。输入运行管道的 RHTAP 的 Azure 项目的名称。
- 选择 Next。系统显示 Deployment Information 表单。
提供部署信息
-
在 Image Registry 字段中,指定没有
HTTP
协议的内部镜像 registry URL。支持注册表包括 Quay (如quay.io
)和 JFrog Artifactory (如tssc.jfrog.io
)。 - 在 Image Organization 字段中,为在第 1 步中提供的镜像 registry 输入镜像机构。
在 Image Name 字段中,使用小写字母、数字和分隔符输入镜像名称。分隔符包含一个句点(.),最多两个下划线(_)或一个或多个连字符(-)。例如,
my-app_1.2
。注意您必须确保名称不以分隔符开头或结尾。
在 Deployment Namespace 字段中,输入您要部署应用程序的命名空间或集群的前缀。系统将命名空间创建为
rhtap-app-development
、rhtap-app-stage
和rhtap-app-prod
。注意rhtap-app
是默认的部署命名空间前缀。集群管理员可以自定义此前缀。有关如何自定义默认部署命名空间前缀的说明,请参阅自定义示例软件模板。- 选择 Review 来查看您添加的所有信息。
选择 Create。RHTAP 启动自动化任务来设置应用程序的基础架构和部署管道,包括:
- 仓库 创建和配置 : 在指定的托管服务中创建新存储库,包括 GitOps 存储库和源存储库。
- Argo CD Integration : 创建和配置 Argo CD 资源,以便在指定的命名空间间编配应用程序的部署。
- 命名空间创建 : 为开发、临时和生产环境生成命名空间。
- 管道定义: 添加管道定义,提供用于构建、测试和部署应用程序的"Pipelines as Code"模型。