4.5. カスタムパラメーターの拡張


Pipelines as Code を使用すると、params フィールドを使用して PipelineRun リソース内のカスタムパラメーターをデプロイメントできます。Repository カスタムリソース (CR) のテンプレート内のカスタムパラメーターの値を指定できます。指定された値は、パイプライン実行のカスタムパラメーターを置き換えます。

カスタムパラメーターは次のシナリオで使用できます。

  • プッシュまたはプルリクエストに基づいて変化するレジストリー URL などの URL パラメーターを定義します。
  • Git リポジトリー内の PipelineRun 実行に変更を加えることなく、管理者が管理できるアカウント UUID などのパラメーターを定義します。
注記

Tekton パラメーターは Pipeline リソースで定義され、Git リポジトリー内でそれに沿ってカスタマイズされるため、Tekton PipelineRun パラメーターを使用できない場合にのみ、カスタムパラメーター拡張機能を使用してください。ただし、カスタムパラメーターは、Repository CR が配置されている場所で定義およびカスタマイズされます。したがって、CI/CD パイプラインを 1 つのポイントから管理することはできません。

次の例は、Repository CR 内の company という名前のカスタムパラメーターを示しています。

...
spec:
  params:
    - name: company
      value: "ABC Company"
...

ABC Company は、パイプライン実行およびリモートでフェッチされたタスクのパラメーター名 company を置き換えます。

次の例に示すように、Kubernetes シークレットからカスタムパラメーターの値を取得することもできます。

...
spec:
  params:
    - name: company
      secretRef:
        name: my-secret
        key: companyname
...

Pipelines as Code は、以下の方法でカスタムパラメーターを解析して使用します。

  • valuesecretRef が定義されている場合、Pipelines as Code は value を使用します。
  • params セクションに name がない場合、Pipelines as Code はパラメーターを解析しません。
  • 同じ nameparams が複数ある場合、Pipelines as Code は最後のパラメーターを使用します。

カスタムパラメーターを定義し、指定された条件が CEL フィルターに一致した場合にのみその拡張を使用することもできます。次の例は、プルリクエストイベントがトリガーされたときに company という名前のカスタムパラメーターに適用される CEL フィルターを示しています。

...
spec:
  params:
    - name: company
      value: "ABC Company"
      filter:
        - name: event
          value: |
      pac.event_type == "pull_request"
...
注記

同じ名前と異なるフィルターを持つ複数のパラメーターがある場合、Pipelines as Code はフィルターに一致する最初のパラメーターを使用します。そのため、Pipelines as Code を使用すると、さまざまなイベントタイプに応じてパラメーターを拡張できます。たとえば、プッシュリクエストイベントとプルリクエストイベントを組み合わせることができます。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.