Red Hat Trusted Application Pipeline のカスタマイズ


Red Hat Trusted Application Pipeline 1.0

デフォルトのソフトウェアテンプレートとビルドパイプライン設定をカスタマイズする方法を説明します。

Red Hat Trusted Application Pipeline Documentation Team

概要

このドキュメントでは、クラスター管理者向けに、RHTAP のソフトウェアテンプレートとビルドパイプライン設定を、オンプレミス環境の独自の要件に合わせてカスタマイズする手順を説明します。これらの要素をカスタマイズすることで、管理者は、開発ワークフローの合理化や、セキュリティープラクティスのシームレスな統合を実現できます。また、開発者は、複雑なセキュリティーコンプライアンスやインフラストラクチャーの微妙な違いではなく、イノベーションに集中できるようになります。

はじめに

RHTAP は、すぐに使用できるソフトウェアテンプレートとビルドパイプライン設定によってチームを支援します。これらのツールは、開発プロセスにセキュリティープラクティスをシームレスに統合するように設計されています。これらのツールは、セキュリティーに関する考慮事項に関連する開発者の負担を軽減するだけでなく、開発者がイノベーションに集中できるようにします。

クラスター管理者は、オンプレミス環境の独自の要件に合わせてこれらのリソースを調整する上で重要な役割を果たします。調整の例は以下のとおりです。

  • 特定の組織のニーズに合わせたソフトウェアテンプレートのカスタマイズ
  • プロジェクトの目標に合わせたビルドパイプライン設定の変更
  • 自動化されたパイプライントリガー用の GitLab Webhook の設定

このようなカスタマイズにより開発ワークフローが合理化され、パイプライン、脆弱性、ポリシーコンプライアンスに関する一般的な懸念に対処できるため、開発者はコーディングを優先できます。

第1章 サンプルソフトウェアテンプレートのカスタマイズ

すぐに使用できるソフトウェアテンプレートをオンプレミス環境向けにカスタマイズする方法を説明します。クラスター管理者は、メタデータや仕様の変更を含め、このプロセスを完全に制御できます。

前提条件

  • RHTAP インストールプロセス中に、tssc-sample-templates からフォークされたリポジトリー URL を使用した。

手順

  1. フォークされたリポジトリーを複製し、Visual Studio Code などの任意のテキストエディターで開きます。
  2. プロジェクトディレクトリー内で プロパティー ファイルを見つけます。このファイルにはカスタマイズ可能なデフォルト値が保存されています。ファイルを編集するために開き、環境に応じて次のキーと値のペアを更新します。

    キー説明

    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 を変更した場合は、これを更新してください。

    図1.1 プロパティーファイル

    properties
  3. ターミナルで generate.sh スクリプトを実行します。このアクションにより、ソフトウェアテンプレートが調整され、デフォルトのホスト値が指定した入力値に置き換わります。

    Copy to Clipboard Toggle word wrap
    ./generate.sh

    図1.2 generate.sh スクリプト

    generate
  4. 変更をコミットしてリポジトリーにプッシュします。これにより、RHDH のテンプレートが自動的に更新されます。あるいは、カスタマイズしたテンプレートの 1 つまたはすべてを RHDH に直接インポートして更新することもできます。

    1. Git プロバイダーのフォークされたサンプルテンプレートリポジトリーに移動します。
    2. 単一のテンプレートの場合は、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 です。
    3. RHDH プラットフォームに戻ります。
    4. Create > Register Existing Component を選択します。
    5. Select URL フィールドに、手順 4b でコピーした適切な URL を貼り付けます。
    6. Analyze を選択し、Import を選択して RHDH のテンプレートを更新します。

検証

  • テンプレートのカスタマイズによる影響を調べるアプリケーションの作成を検討してください。

関連情報

第2章 サンプルパイプラインのカスタマイズ

サンプルテンプレートリポジトリー内の Pipeline as Code (pac) URL を更新し、サンプルパイプラインリポジトリーをワークフローに合わせてカスタマイズする方法を説明します。pac URL をカスタマイズすることで、組織はニーズに合わせて特定のパイプラインを活用できます。

前提条件

サンプルテンプレートリポジトリーをカスタマイズして pac URL を更新する*

手順

  1. フォークされたサンプルパイプラインリポジトリーの URL にアクセスします。

    1. フォークされたサンプルパイプラインリポジトリーを開きます。
    2. アドレスバーから完全な URL をコピーします。たとえば、https://github.com/<username>/tssc-sample-pipelines です。
  2. サンプルテンプレートリポジトリーの pac URL を更新します。

    1. ターミナルを使用して、ローカルに複製されたサンプルテンプレートリポジトリーに移動します。
    2. 次のコマンドを実行します。{fork_url} は手順 1 でコピーした URL に置き換え、{branch_name} は目的のブランチ名 (main など) に置き換えます。
    Copy to Clipboard Toggle word wrap
    ./scripts/update-tekton-definition {fork_url} {branch_name}
    
    # For example, .scripts/update-tekton-definition https://github.com/<username>/tssc-sample-pipelines main
  3. 変更を確認し、コミットしてプッシュします。

    1. サンプルテンプレートリポジトリー内の更新したファイルを確認します。
    2. 適切なメッセージとともに変更をコミットします。
    3. コミットした変更を、フォークされたリポジトリーにプッシュします。

サンプルパイプラインリポジトリーをワークフローに合わせてカスタマイズする

サンプルパイプラインリポジトリーは、組織固有の CI/CD ワークフローをビルドするための基盤を提供します。サンプルパイプラインリポジトリーでは、pac ディレクトリーにいくつかの主要なパイプラインテンプレートが含まれています。

  • gitops-repo: このディレクトリーには、GitOps リポジトリー内のプルリクエストを検証するためのパイプライン定義が保存されます。これは、pipelines ディレクトリーにある gitops-pull-request パイプラインをトリガーし、イメージの更新が組織の標準に準拠していることを検証します。開発からステージング、ステージングから実稼働環境など、アプリケーションのデプロイメント状態を環境間で順に進めるプロモーションワークフローにおいて、このセットアップは重要です。gitops-repo のパイプライン定義の詳細は、Gitops Pipelines を参照してください。
  • pipelines: このディレクトリーには、gitops-reposource-repo の両方のイベントハンドラーが参照するビルドおよび検証パイプラインの実装が格納されます。このディレクトリーの内容を調べることで、パイプラインが実行する特定のアクションや、パイプラインがアプリケーションのセキュアなプロモーションおよびデプロイメントに貢献する方法を理解できます。
  • source-repo: このディレクトリーは、Dockerfile ベースのセキュアなサプライチェーンソフトウェアのビルドに特化しています。このディレクトリーには、ソースを複製し、アーティファクトを生成および署名し (イメージ署名の .sig、アテステーションの .att、Software Bill of Materials の .sbom など)、これらをユーザーのイメージレジストリーにプッシュするためのパイプライン定義が含まれます。source-repo のパイプライン定義の詳細は、Shared Git resolver model for shared pipeline and tasks を参照してください。
  • tasks: このディレクトリーには、組織のニーズに合わせて追加または変更できるタスクのコレクションが格納されます。たとえば、Advanced Cluster Security (ACS) タスクを代替のチェックに置き換えたり、まったく新しいタスクをパイプラインに統合して機能とコンプライアンスを強化したりできます。

検証

  • テンプレートおよびパイプラインのカスタマイズによる影響を調べるアプリケーションの作成を検討してください。

関連情報

第3章 自動化されたパイプライントリガー用の GitLab Webhook の設定

GitLab で Webhook とシークレットを設定して、コードの更新時に RHDH でパイプラインの実行を自動的にトリガーする方法を説明します。

前提条件

  • 既存の GitLab プロジェクトがある。
  • OpenShift Web コンソールの 管理者権限 がある。

手順

  1. Webhook URL とシークレットトークンを取得します。

    1. 管理者権限で OpenShift Web コンソール にログインします。
    2. rhtap プロジェクトに移動し、Pipelines を展開して、PipelineRuns を選択します。
    3. rhtap-pe-info-<> パイプラインの実行を見つけて、Logs タブを選択します。
    注記

    これらのログには、GitLab 設定に必要な Webhook URL とシークレットトークンが含まれます。

  2. GitLab で Webhook を設定します。

    1. GitLab リポジトリー内で、Settings > Webhooks に移動します。
    2. URL フィールドに、手順 1 でコピーした Webhook URL を入力します。
    3. Secret Token フィールドに、手順 1 でコピーしたシークレットトークンを入力します。
    4. Trigger セクションでは、次の操作を行います。

      1. Push events を選択します。
      2. Merge request events を選択します。
    5. Add Webhook をクリックします。

検証

  1. コードの変更を GitLab リポジトリーにプッシュします。
  2. RHDH の CI タブに移動します。
  3. コードプッシュに対してパイプラインの実行がトリガーされていることを確認します。





改訂日時: 2024-07-16

法律上の通知

Copyright © 2024 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat, Inc.