2.2. アプリケーションの構築
RHDH ポータルで Create を選択し、適切なテンプレートを選択します。たとえば、Quarkus Java - Trusted Application Pipeline などです。
RHTAP が提供するテンプレートを使用して RHDH で開発者向けのアプリケーションまたはマイクロサービスを構築するには、主に次の 3 つの手順を実行します。
- アプリケーション情報の指定
- アプリケーションリポジトリー情報の指定
- デプロイメント情報の指定
アプリケーション情報の提供
-
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 フィールドで、リポジトリーサーバーを指定します。
Expand ホストタイプを選択した場合 説明 GitHub
このフィールドには
github.comが事前に入力されています。ただし、HTTPプロトコルと.git拡張子なしでオンプレミスホスト URL を入力することもできます。たとえば、github-github.apps.cluster-ljg9z.sandbox219.opentlc.comです。GitLab
このフィールドには
gitlab.comが事前に入力されています。ただし、HTTPプロトコルと.git拡張子なしでオンプレミスホスト URL を入力することもできます。たとえば、gitlab-gitlab.apps.cluster-ljg9z.sandbox219.opentlc.comです。Bitbucket
このフィールドには
bitbucket.orgが事前に入力されています。-
Repository Default Branch フィールドで、リポジトリーのデフォルトブランチを指定します。デフォルトは
mainですが、別のブランチ名を指定することもできます。 Bitbucket のみ:
- Workspace フィールドに、プロジェクトが含まれているワークスペースの名前を入力します。
- Project フィールドにプロジェクトキーを入力します。プロジェクトキーは、Bitbucket のプロジェクト名の横にあります。
CI Provider ドロップダウンリストから、システムがアプリケーションの構築、テスト、およびデプロイに使用する継続的インテグレーション (CI) ツールを選択します。
Expand ホストタイプ 利用可能な 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)
重要- Tekton CI で Bitbucket をソースリポジトリーとして使用する場合は、Bitbucket に webhook を追加する 必要があります。
- Tekton CI で GitLab をソースリポジトリーとして使用する場合は、GitLab に webhook を追加する 必要があります。
- GitHub Actions を使用する場合は、GitHub で必要なシークレットを設定する 必要があります。
- GitLab CI を使用する場合は、GitLab で必要なシークレットを設定する 必要があります。
- Azure Pipelines を使用する場合は、Azure で必要なシークレットを設定する 必要があります。
- Jenkins を使用する場合は、アプリケーションを Jenkins に追加する 必要があります。
- 手順 7 で CI プロバイダーとして Azure Pipelines を選択した場合、UI に Azure Project フィールドが表示されます。RHTAP がパイプラインを実行する Azure プロジェクトの名前を入力します。
- Next を選択します。Deployment Information フォームが表示されます。
デプロイメント情報の提供
-
Image Registry フィールドで、
HTTPプロトコルなしでオンプレミスのイメージレジストリー URL を指定します。サポートされるレジストリーには、Quay (例:quay.io) や JFrog Artifactory (例:tssc.jfrog.io) などがあります。 - Image Organization フィールドに、ステップ 1 で指定したイメージレジストリーのイメージ設定を入力します。
Image Name フィールドに、小文字、数字、区切り文字のみを使用してイメージ名を入力します。区切り文字には、ピリオド (.)、最大 2 つのアンダースコア (_)、または 1 つ以上のハイフン (-) が含まれます。たとえば、
my-app_1.2と入力します。注記名前の先頭と末尾が区切り文字にならないようにする必要があります。
Deployment Namespace フィールドに、アプリケーションをデプロイする namespace またはクラスターの接頭辞を入力します。システムは、
rhtap-app-development、rhtap-app-stage、rhtap-app-prodとして namespace を作成します。注記rhtap-appは、デフォルトのデプロイメント名前空間の接頭辞です。クラスター管理者はこの接頭辞をカスタマイズできます。デフォルトのデプロイメント名前空間の接頭辞をカスタマイズする方法の詳細は、サンプルソフトウェアテンプレートのカスタマイズ を参照してください。- 追加したすべての情報を確認するには、Review を選択します。
Create を選択します。RHTAP は、次のようなアプリケーションのインフラストラクチャーとデプロイメントパイプラインをセットアップするための自動タスクを開始します。
- リポジトリーの作成と設定: GitOps リポジトリーとソースリポジトリーを含む、指定したホスティングサービスに新しいリポジトリーを作成します。
- Argo CD 統合: 指定された namespace 全体にわたってアプリケーションのデプロイメントを調整するために、Argo CD リソースを作成および設定します。
- namespace の作成: 開発、ステージング、および実稼働環境の namespace を生成します。
- パイプライン定義: パイプライン定義を追加し、アプリケーションの構築、テスト、およびデプロイのための "コードとしてのパイプライン" モデルを提供します。