第1章 サンプルソフトウェアテンプレートのカスタマイズ
オンプレミス環境の準備が整ったソフトウェアテンプレートをカスタマイズする方法を説明します。クラスター管理者は、デプロイメントのニーズに合わせてメタデータと仕様の変更を完全に制御できます。
前提条件
サンプルソフトウェアテンプレートをカスタマイズする前に、以下の前提条件を満たしていることを確認してください。
- インストール時に tssc-sample-templates のフォークされたリポジトリーの URL を使用している。
-
フォークされた
tssc-sample-templatesリポジトリーは、アップストリームリポジトリーで最新の状態です。 -
tssc-sample-templatesリポジトリーをローカルマシンにクローンしている。 - Jenkins を使用してデプロイする場合には、tssc-sample-jenkins パイプラインテンプレートをフォークし、クローンを作成している。
手順
-
ローカルマシンのクローンされた
tssc-sample-templatesリポジトリーに移動します。 希望するテキストエディターで
プロパティーファイルを開きます。たとえば、ターミナルで次のコマンドを実行して、Visual Studio Code で開きます。code properties
$ code propertiesCopy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow お使いの環境に応じて以下のキーと値のペアを更新して、
プロパティーファイルをカスタマイズします。Expand キー 説明 export GITHUB_DEFAULT_HOST
これをオンプレミスの GitHub ホストの完全修飾ドメイン名に設定します。つまり、
HTTPプロトコルと.git拡張子を除外した URL です。たとえば、github-github.apps.cluster-ljg9z.sandbox219.opentlc.comです。デフォルト値はgithub.comです。export GITLAB_DEFAULT_HOST
これをオンプレミスの GitLab ホストの完全修飾ドメイン名に設定します。つまり、
HTTPプロトコルと.git拡張子を除外した URL です。たとえば、gitlab-gitlab.apps.cluster-ljg9z.sandbox219.opentlc.comです。デフォルト値はgitlab.comです。export DEFAULT_DEPLOYMENT_NAMESPACE_PREFIX
RHADS - SSC 内のデプロイメントの namespace の接頭辞です。デフォルト値は
tssc-appです。注記インストール中にデフォルトの
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 組織の名前。
ソフトウェアテンプレートを調整し、リポジトリーのトップレベルディレクトリーから次のコマンドを実行して、デフォルトのホスト値を指定の入力に置き換えます。
./generate.sh
$ ./generate.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow Jenkins のみの場合:Jenkins ライブラリーをカスタマイズするには、skeleton > ci > gitops-template > jenkins に移動して、
Jenkinsfileファイルを開きます。remoteURL をフォークしたリポジトリーの URL に置き換えます。たとえば、remote:https://github.com/<username>/tssc-sample-jenkins.git等。さらに、Jenkins インスタンスがオンプレミスの OpenShift Container Platform (OCP)インスタンスにデプロイされておらず、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 ファイルを開きます。
2 番目の 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を OCP クラスター 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 で環境変数またはシークレットを設定するには、外部ツールとの安全な統合のために Jenkins へのシークレットの追加 を参照してください。
- デフォルトでは、RHADS - SSC は動的に読み込まれた Jenkins ライブラリーを使用します。動的ロードではなく組み込みの Jenkins ライブラリーを使用するように RHADS - SSC を設定する必要がある場合は、Jenkins プロビジョニング設定を変更する必要があります。この変更により、トレーサビリティとコンテクス設定性が向上します。詳細な手順は、組み込みの Jenkins ライブラリーを使用するように RHADS - SSC を設定する を参照してください。
-
Red Hat Advanced Cluster Security (RHACS)のみの場合:RHACS スキャンを有効にするには、env.sh ファイルで
エクスポート DISABLE_ACSをfalseに設定します。 - オプション A: 変更をコミットし、リポジトリーにプッシュします。これにより、Red Hat Developer Hub (RHDH)のテンプレートが自動的に更新されます。
オプション B: 次の手順を使用して、テンプレートを手動でインポートおよび更新します。
- Git プロバイダーのフォークされたサンプルテンプレートリポジトリーに移動します。
適切な URL を取得します。
-
単一のテンプレートの場合は、
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 フィールドに、前の手順でコピーした適切な URL を貼り付けます。
- Analyze を選択し、Import を選択して RHDH のテンプレートを更新します。
検証
- テンプレートのカスタマイズによる影響を調べるアプリケーションの作成を検討してください。