This documentation is for a release that is no longer maintained
See documentation for the latest supported version.第1章 サンプルソフトウェアテンプレートのカスタマイズ
すぐに使用できるソフトウェアテンプレートをオンプレミス環境向けにカスタマイズする方法を説明します。クラスター管理者は、メタデータや仕様の変更を含め、このプロセスを完全に制御できます。
前提条件
- RHTAP インストールプロセス中に、tssc-sample-templates からフォークされたリポジトリー URL を使用した。
- tssc-sample-jenkins パイプラインテンプレートがすでにフォークしてクローン化されている。
- フォークされたバージョンが最新で、アップストリームリポジトリーと同期されている。
手順
-
フォークされた
tssc-sample-templatesリポジトリーを複製し、Visual Studio Code などの任意のテキストエディターで開きます。 プロジェクトディレクトリー内で プロパティー ファイルを見つけます。このファイルにはカスタマイズ可能なデフォルト値が保存されています。ファイルを編集するために開き、環境に応じて次のキーと値のペアを更新します。
Expand キー 説明 export GITHUB_DEFAULT_HOST
このキーは、オンプレミスの GitHub ホストの完全修飾ドメイン名に設定します。つまり、
HTTPプロトコルと.git拡張子を除外した URL です。たとえば、ithub-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 QUAY_DEFAULT_HOST
デフォルトの Quay URL は、
HTTPプロトコルを除外した、特定のオンプレミスのイメージレジストリー URL に対応します。たとえば、quay-tv2pb.apps.cluster-tv2pb.sandbox1194.opentlc.com などです。デフォルトの quay ホストはquay.ioです。export DEFAULT_DEPLOYMENT_NAMESPACE_PREFIX
RHTAP 内のデプロイメントの名前空間接頭辞です。デフォルトは
rhtap-appです。注記RHTAP インストールプロセス中にデフォルトの
trusted-application-pipeline: namespaceを変更した場合は、これを更新してください。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 > jenkins に移動し、Jenkinsfile を開きます。
remoteURL をフォークしたリポジトリーの URL に置き換えます。たとえば、remote: 'https://github.com/<username>/tssc-sample-jenkins.git' です。さらに、Jenkins がローカル以外の OpenShift インスタンス上にあり、Rekor サービスと TUF サービスが異なるクラスター上にある場合は、env.sh ファイル内の
REKOR_HOSTおよびTUF_MIRROR環境変数を更新する必要があります。これにより、外部 Jenkins サーバーが RHTAP でインストールされた Rekor および TUF と通信できるようになります。これがないと、RHTAP は Jenkins パイプラインでコンテナーイメージに正しく署名せず、この 既知の問題 が発生する可能性があります。REKOR_HOST変数およびTUF_MIRROR変数を更新するには、以下を実行します。skeleton > ci > gitops-template > jenkins > rhtap から env.sh ファイルを開きます。
2 番目の env.sh ファイルは、skeleton > ci > source-repo > jenkins > rhtap にあります。ニーズに合ったものを選択するか、両方を更新します。
env.sh で、
REKOR_HOSTとTUF_MIRRORのデフォルト値を確認します。REKOR_HOST=http://rekor-server.rhtap-tas.svc TUF_MIRROR=http://tuf.rhtap-tas.svc
REKOR_HOST=http://rekor-server.rhtap-tas.svc TUF_MIRROR=http://tuf.rhtap-tas.svcCopy to Clipboard Copied! Toggle word wrap Toggle overflow .svcは、OpenShift クラスターの URL に置き換えます。.svcドメインはローカルクラスターを参照し、内部サービスはルートに.svcを含む他のサービスにアクセスできますが、外部 Jenkins はアクセスできません。Rekor および TUF サービスの正しいルートは、RHTAP のインストールプロセスの一部として出力されます。これらのデータが利用できない場合は、CLI でこのコマンドを実行し、出力で Rekor ルートと TUF ルートを選択します。
oc get routes -n rhtap-tas
$ oc get routes -n rhtap-tasCopy to Clipboard Copied! Toggle word wrap Toggle overflow Rekor サーバーの URL の例:
http://rekor-server.rhtap-tas.apps.rosa.j6ufg-t3htv-ts6.z797.p3.openshiftapps.com
-
RHACS のみ: RHACS スキャンを有効にするには、env.sh ファイルで
export DISABLE_ACSをfalseに設定します。 変更をコミットしてリポジトリーにプッシュします。これにより、RHDH のテンプレートが自動的に更新されます。あるいは、カスタマイズしたテンプレートの 1 つまたはすべてを RHDH に直接インポートして更新することもできます。
- Git プロバイダーのフォークされたサンプルテンプレートリポジトリーに移動します。
-
単一のテンプレートの場合は、
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 のテンプレートを更新します。
検証
- テンプレートのカスタマイズによる影響を調べるアプリケーションの作成を検討してください。