3.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 表单。
提供应用程序存储库信息
- 从 主机类型 下拉列表中,选择适当的存储库主机类型。
- 在 Repository Owner 字段中,输入拥有您使用的 Git App 的组织名称。这可以是个人用户帐户、组织或机构中的项目。
- 在 Repository Name 字段中,使用限制为 A-Z、a-z、0-9、下划线(_)和短划线(-)的字符输入适当的存储库名称。系统使用此信息来命名它在主机仓库服务器上创建的存储库。
-
在 Repository Default Branch 字段中,为您的存储库输入默认分支。默认情况下,此字段显示
main,以保持它相同。 -
在 Repository Server 字段中,输入没有
HTTP协议且没有.git扩展的 on-prem 主机 URL。例如,gitlab-gitlab.apps.cluster-ljg9z.sandbox219.opentlc.com。 - 在 CI Provider 下拉列表中,选择系统用于构建、测试和部署应用程序的适当持续集成(CI)工具(如 Jenkins 或 Tekton)。
- 选择 Next。系统显示 Deployment Information 表单。
提供部署信息
-
在 Image Registry 字段中,输入没有
HTTP协议的 on-prem 镜像 registry URL。例如: quay-tv2pb.apps.cluster-tv2pb.sandbox1194.opentlc.com。 - 在 Image Organization 字段中,为在第 1 步中提供的镜像 registry 输入镜像机构。
在 Image Name 字段中输入适当的镜像名称,遵循以下准则:只使用小写字母、dights 和 separators。分隔符包含一个句点(.),最多两个下划线(_)或一个或多个连字符(-)。例如,
my-app_1.2。注意您必须确保名称不以分隔符开头或结尾。
在 Deployment Namespace 字段中,输入您要部署应用程序的命名空间或集群的前缀。系统将实际命名空间创建为
rhtap-app-development、rhtap-app-stage和rhtap-app-prod。注意rhtap-app是默认的部署命名空间前缀。集群管理员可以选择自定义此前缀。有关如何自定义默认部署命名空间前缀的说明,请参阅自定义示例软件模板。- 选择 Review 来查看您添加的所有信息。
选择 Create。RHTAP 启动一系列自动化任务,旨在设置应用的基础架构和部署管道。这个过程涉及几个在后台后面的密钥操作:
- 存储库创建和配置: 在您的指定的托管服务(GitLab 或 GitHub)中自动创建新存储库,专门为您的应用程序量身定制。这包括 GitOps 存储库的设置,其中包含您的部署配置和源存储库,其中您的应用程序代码所在的位置。
- Argo CD Integration : 使用软件仓库,会创建并配置 Argo CD 资源。Argo CD,一种声明、GitOps 持续交付工具 springs,用于在指定的命名空间中编排应用程序的部署。
- 命名空间 创建: 作为设置部署环境的一部分,会根据应用程序的要求自动生成各种命名空间。这包括用于开发、临时和生产环境的独立命名空间,确保在不同阶段间的隔离和安全性。
- 管道定义: 最后,管道定义会添加到您的设置中,为您提供 'Pipeline 作为代码' 模型。这定义了用于构建、测试和部署应用程序的自动化工作流,并与最佳实践和安全措施保持一致。