1.2. Red Hat OpenShift Pipelines 1.18 のリリースノート


この更新により、Red Hat OpenShift Pipelines General Availability (GA) 1.18 が OpenShift Container Platform 4.15 以降のバージョンで利用できるようになります。

1.2.1. 新機能

修正と安定性の向上に加えて、次のセクションでは Red Hat OpenShift Pipelines 1.18 の新機能を説明します。

1.2.1.1. Pipelines

  • このリリースでは、OpenShift Pipelines コントローラーのログメッセージが改善され、特に空の変数が存在する場合に読みやすさが向上しました。
  • このリリースでは、パイプラインリゾルバーの解決タイムアウト設定を指定して、パイプライン実行時の柔軟性と制御性を高めることができます。

    パイプラインリゾルバーのタイムアウト設定の例

    Copy to Clipboard Toggle word wrap
    apiVersion: operator.tekton.dev/v1alpha1
    kind: TektonConfig
    metadata:
      name: config
    spec:
    # ...
      pipeline:
        options:
          configMaps:
            config-defaults:
              data:
                default-maximum-resolution-timeout: 5m 
    1
    
            bundleresolver-config:
              data:
                fetch-timeout: 1m 
    2
    
    # ...

    1
    解決リクエストのグローバル最大タイムアウトを指定します。デフォルト値は 1m です。
    2
    バンドル解決リクエストに使用されるタイムアウトを指定します。

1.2.1.2. Operator

  • このリリースでは、OpenShift Pipeline がコミュニティータスクをサポートするようになりました。

    次のコミュニティータスクは openshift-pipelines namespace にデフォルトでインストールされます。

    • argocd-task-sync-and-wait
    • git-cli
    • helm-upgrade-from-repo
    • helm-upgrade-from-source
    • jib-maven
    • kubeconfig-creator
    • pull-request
    • trigger-jenkins-job
  • このリリースでは、OpenShift Pipelines は、TektonConfig CR を介した新規コンテナーのデプロイメントをサポートします。

    TektonConfig CR を使用した新規 kube-rbac-proxy コンテナーのデプロイ例

    Copy to Clipboard Toggle word wrap
    apiVersion: operator.tekton.dev/v1alpha1
    kind: TektonConfig
    metadata:
      name: config
    # ...
    spec:
      result:
        options:
          deployments:
            tekton-results-watcher:
              spec:
                template:
                  spec:
                    containers:
                    - name: kube-rbac-proxy
                      args:
                        - --secure-listen-address=0.0.0.0:8443
                        - --upstream=http://127.0.0.1:9090/
                        - --logtostderr=true
                      image: registry.redhat.io/openshift4/ose-kube-rbac-proxy:v4.12
    # ...

  • このリリースでは、OpenShift Pipelines コントローラーの高可用性オプションが、既存のリーダー選出メカニズムの代わりとして StatefulSet 序数によって強化されています。これにより、Operator は、リーダー選出による迅速なリカバリー、または StatefulSet 序数による一貫したワークロード分散のいずれかを使用できるようになります。

    デフォルトオプションであるリーダー選出には、フェイルオーバー機能がありますが、アクセス集中が発生する可能性があります。対照的に、新しい StatefulSet 序数のアプローチでは、キーがレプリカ全体に均等に分散され、よりバランスの取れたワークロード分散が実現されます。

    TektonConfig カスタムリソースで statefulset-ordinals パラメーターを true に設定し、StatefulSet 序数メソッドに切り替えることができます。

    StatefulSet 序数機能を有効にする例

    Copy to Clipboard Toggle word wrap
    apiVersion: operator.tekton.dev/v1alpha1
    kind: TektonConfig
    metadata:
      name: config
    spec:
    # ...
      pipeline:
        performance:
          disable-ha: false
          buckets: 4
          replicas: 4
          statefulset-ordinals: true
    # ...

    重要

    StatefulSet 序数を使用して高可用性を実現する機能は、テクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。

    Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。

1.2.1.3. Triggers

  • このリリースでは、OpenShift Pipelines トリガーの EventListener オブジェクトに ImagePullSecrets フィールドが追加され、非公開のレジストリーからのイメージのプルにリスナーが利用するシークレットを指定できます。

    ImagePullSecrets フィールドの使用例

    Copy to Clipboard Toggle word wrap
    apiVersion: triggers.tekton.dev/v1beta1
    kind: EventListener
    metadata:
      name: imagepullsecrets-example
    # ...
    spec:
      serviceAccountName: triggers-example
      resources:
        kubernetesResource:
          spec:
            template:
              spec:
                imagePullSecrets:
                  - name: docker-login
    # ...

1.2.1.4. CLI

  • このリリースでは、opc コマンドラインユーティリティーに次のコンポーネントが追加されました。

    • Pipelines as Code バージョン 0.33.0
    • CLI バージョン 0.40.0
    • 結果バージョン 0.14.0
    • 手動承認 Gate バージョン 0.5.0

1.2.1.5. Pipelines as Code

  • このリリースでは、on-path-change および on-path-change-ignore アノテーションを使用して、変更されたファイルに基づいて PipelineRun リソースをトリガーできるようになりました。これにより、複雑な CEL 式を記述する必要がなくなり、プロセスが簡素化されます。

    on-path-change および on-path-change-ignore アノテーションの使用例

    Copy to Clipboard Toggle word wrap
    apiVersion: tekton.dev/v1beta1
    kind: PipelineRun
    metadata:
      name: "on-path-change"
      annotations:
        pipelinesascode.tekton.dev/on-path-change: ["docs/**"] 
    1
    
        pipelinesascode.tekton.dev/on-path-change-ignore: [".github/**"] 
    2
    
    spec:
    # ...

    1
    docs ディレクトリーで変更が発生した場合に一致します。
    2
    .github ディレクトリーで変更が発生しない場合に一致します。
  • このリリースでは、on-comment アノテーションを使用して、GitHub にプッシュされたコミットによって PipelineRun リソースをトリガーできるようになりました。この機能により、PipelineRun がトリガーされるタイミングをより細かく制御できるようになり、特定のコメントに基づいて照合させることができます。

    on-comment アノテーションによるトリガーを有効にするには、パイプライン実行を設定する必要があります。

    プッシュされたコミットを通じてパイプライン実行のトリガーを有効にする例

    Copy to Clipboard Toggle word wrap
    apiVersion: tekton.dev/v1beta1
    kind: PipelineRun
    metadata:
      name: "on-comment-pr"
      annotations:
        pipelinesascode.tekton.dev/on-comment: "^/hello-world" 
    1
    
    spec:
    # ...

    1
    この例では /hello-world コマンドを設定します。プッシュされたコミット (例: main ブランチ) でこのコマンドを使用すると、on-comment-pr パイプラインの実行がトリガーされます。
  • このリリースでは、tkn pac info globbing [-s | -d] “<pattern>” コマンドを使用して、サンプル入力データまたはコマンドが実行される作業ディレクトリーでパターンをテストできます。このコマンドは、PipelineRun 定義でパターンが適切に機能しているかどうかをテストします。

    たとえば、次の on-target-branch アノテーションをテストして、git イベントペイロードの main ブランチと一致することを確認できます。

    on-target-branch アノテーションの例

    Copy to Clipboard Toggle word wrap
    apiVersion: tekton.dev/v1beta1
    kind: PipelineRun
    metadata:
      name: "on-target-branch"
      annotations:
        pipelinesascode.tekton.dev/on-target-branch: "[refs/heads/*]"
    spec:
    # ...

    コマンドの例

    Copy to Clipboard Toggle word wrap
    $ tkn pac info globbing -s "refs/heads/main" "refs/heads/*"

  • このリリースでは、Pipelines as Code は HTML エンティティー , を使用してアノテーション内のコンマをサポートします。これで、値に直接使用されるコンマと一緒に、コンマ区切りの値を使用できるようになりました。

    たとえば、mainbranchWith,comma の 2 つのブランチを一致させるには、次のようにアノテーションを指定します。

    コンマを使用したアノテーションの例

    Copy to Clipboard Toggle word wrap
    apiVersion: tekton.dev/v1beta1
    kind: PipelineRun
    metadata:
      name: "comma-annotation"
      annotations:
        pipelinesascode.tekton.dev/on-target-branch: "[main, branchWith&#44;comma]"
    spec:
    # ...

  • このリリースでは、プルリクエストが終了またはマージされた後、cancel-in-progress: true アノテーションが指定された、関連する PipelineRun リソースがすべて自動的にキャンセルされます。この機能を有効にするには、PipelineRun 定義で cancel-in-progress アノテーションを指定します。

    cancel-in-progress アノテーションの例

    Copy to Clipboard Toggle word wrap
    apiVersion: tekton.dev/v1beta1
    kind: PipelineRun
    metadata:
      name: "cancel-in-progress"
      annotations:
        pipelinesascode.tekton.dev/cancel-in-progress: "true"
    spec:
    # ...

    重要

    Pipelines as Code における cancellation-in-progress は、テクノロジープレビュー機能のみです。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。

    Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。

  • このリリースでは、cancel-in-progress: true アノテーションが指定されたアクティブな PipelineRun リソースは、同じ名前の新しい PipelineRun リソースが Pipelines as Code によってトリガーされたときに自動的にキャンセルされます。現在、プルリクエストが生成されて PipelineRun がトリガーされ、同じプルリクエストに対して後に続くコミットにより、新しい PipelineRun がトリガーされると、過去の古い PipelineRun がキャンセルされ、リソースが節約されます。

    この機能を有効にするには、PipelineRun リソースで pipelinesascode.tekton.dev/cancel-in-progress アノテーションを true に設定します。

    古いパイプライン実行のキャンセルを有効にする例

    Copy to Clipboard Toggle word wrap
    apiVersion: tekton.dev/v1beta1
    kind: PipelineRun
    metadata:
      name: "cancel-in-progress"
      annotations:
        pipelinesascode.tekton.dev/cancel-in-progress: "true"
    spec:
    # ...

  • この更新前は、Bitbucket Data Center の CEL 式で使用される .pathChanged() 関数は機能しませんでした。このリリースでは、この機能が実装されています。
  • このリリースでは、ラベルを使用してパイプラインの実行をプルリクエストと照合できます。パイプライン実行をラベルに一致させるには、PipelineRun リソースに pipelinesascode.tekton.dev/on-label アノテーションを設定します。プルリクエストまたはプッシュイベントにラベルを追加すると、パイプライン実行がすぐにトリガーされます。プッシュ要求またはプルイベントにまだラベルがあり、コミットで更新されると、パイプライン実行が再度トリガーされます。

    この機能は、GitHub、GitLab、および Gitea リポジトリープロバイダーでサポートされています。Bitbucket Cloud および Bitbucket Data Center ではサポートされていません。

1.2.1.6. Tekton Results

  • このリリースでは、Tekton Results は一般提供 (GA) 機能です。
  • このリリースでは、Operator は TektonConfig CR を介してデフォルトで Tekton Results の設定をインストールして追加します。
  • このリリースでは、Tekton Results API サーバーは OpenShift Pipelines コンソールプラグインのプロキシー環境変数を使用して、認証ヘッダーを Tekton Results API に送信します。
  • このリリースでは、LokiStack から取得された Tekton Results のログ情報に、各ログエントリーのコンテナー名が含まれるようになりました。

1.2.1.7. Tekton Cache

このリリースでは、OpenShift Pipelines に新しい tekton-caches ツール機能が含まれています。

重要

Tekton Cache はテクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。

Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。

tekton-caches ツールには、次の機能が含まれています。

  • ビルドプロセスが依存関係を保持するキャッシュディレクトリーを確保するには、cache-upload および cache-fetch ステップアクションを使用して S3 バケット、Google Cloud Services (GCS) バケット、または OCI リポジトリーに保存します。

    cache-fetch および cache-upload のステップアクションは、デフォルトで openshift-pipelines namespace にインストールされます。

1.2.2. 互換性を失わせる変更点

  • このリリースでは、Tekton Results は、Tekton Results ウォッチャーによる永続ボリューム (PV)、S3 バケット、または GCS バケット内のストレージへのログの転送をサポートしなくなりました。
  • この更新前は、古いバージョンのタスクとステップアクションが openshift-pipelines namespace にインストールされていました。この更新により、これらの古いバージョンは削除され、タスクとステップアクションの最新の 2 つのマイナーバージョンのみがインストールされます。たとえば、OpenShift Pipelines 1.18 では、インストールされたバージョン付きタスクとステップアクションは *-1-17-0*-1-18-0 です。

1.2.3. 既知の問題

  • TektonConfig CR の result: セクションでパラメーターを追加または変更しても、変更は自動的には適用されません。変更を適用するには、openshift-pipelines namespace 内の Results API サーバーのデプロイメントまたは Pod を再起動します。

1.2.4. 修正された問題

  • 今回の更新以前は、通常のパラメーターと matrix パラメーターの両方が含まれるタスクを定義した場合、tekton-pipelines-controller コンポーネントがクラッシュし、セグメンテーションフォールトメッセージをログに記録していました。タスクが削除されなかった場合、コンポーネントのクラッシュは継続し、パイプラインが実行されませんでした。この更新により、このような場合でもコントローラーはクラッシュしなくなります。
  • この更新前は、ユーザーが OpenShift Container Platform Web コンソールを使用してリゾルバーベースの PipelineRun リソースを再実行しようとすると、Invalid PipelineRun configuration, unable to start Pipeline. のエラーメッセージが表示されていました。この更新により、再実行でエラーが発生しなくなり、期待どおりに動作するようになりました。
  • この更新前は、PipelineRun リソースが失敗すると、OpenShift Container Platform Web コンソールの PipelineRun リソースの Output タブに、利用可能な結果ではなくエラーメッセージが表示されていました。この更新により、Web コンソールに結果が正しく表示されるようになります。
  • この更新前は、CONTEXT および DOCKERFILE パラメーターの値が異なるディレクトリーを参照している場合、openshift-pipelines namespace からの buildah タスクは失敗していました。この更新により、問題が修正されました。
  • この更新前は、ステップアクションでパラメーターをデフォルト値として参照すると、そのステップアクションを参照する TaskRun リソースが失敗していました。このリリースにより、この問題は修正されました。

    パラメーターを値として使用する例

    Copy to Clipboard Toggle word wrap
    apiVersion: tekton.dev/v1alpha1
    kind: StepAction
    metadata:
      name: simple-step-action
    # ...
    spec:
      params:
        - name: param1 # This parameter is required
          type: string
        - name: param2 # This parameter uses the value of `param1` as default value
          type: string
          default: $(params.param1)
    # ...

  • この更新前は、リポジトリーの外部を指すシンボリックリンクを含むリモート Git リポジトリーを参照する PipelineRun リソースを作成すると、PipelineRun は失敗していました。このリリースでは、シンボリックリンクが無効な場合でも PipelineRun が失敗しなくなりました。
  • この更新前は、メモリーと一時ストレージのリソース要求が定義された制限を超えることがありました。このリリースにより、この問題は修正されました。
  • この更新前は、挿入されたサイドカーを使用するクラスターでパイプラインを実行しても、OpenShift Pipelines コントローラーに影響が及ばない場合がありました。これは、Kubernetes のマイナーバージョンチェックの不具合によって発生しました。この更新により、問題が修正されました。
  • この更新前は、結果リストに無効な結果を伴う重複キーが含まれている場合に、重複が削除され、各キーの最後の結果に置き換えられていたため、結果リストの順序が変更される可能性がありました。このリリースでは、重複キーが削除されても結果の順序が保持され、各キーの最後の有効な結果が最終結果として保持されるようになります。
  • この更新前は、Pipelines as Code を使用する場合、相対パス (例: https://example.servehttp.com/gitlab) でホストされている GitLab インスタンスは、マージリクエストのステータスを正しく更新できませんでした。最初のイベント更新は正常に機能しましたが、パイプライン実行を Finished としてマークするなど、後続の更新は GitLab に表示されず、ステータスは Running の状態のままとなっていました。この更新により、ステータスの更新が正しく機能するようになりました。
  • この更新前は、Pipelines as Code を使用するときに、[] 値が空の PipelineRun リソースで onEvent または onTargetBranch アノテーションを渡すと、PipelineRun リソースの一致処理ができませんでした。この更新により、値が空のアノテーションを渡すとエラーが返されます。
  • この更新前は、Pipelines as Code を使用する場合、URL なしまたは無効な URL を使用して Repository カスタムリソース (CR) を作成できました。この更新では、有効な URL を指定した場合のみ Repository CR を作成できるようになります。すべてのリポジトリーにデフォルト設定を渡すために、URL なしで openshift-pipelines namespace に Repository CR を作成することもできます。
  • この更新前は、Pipelines as Code を使用しているときに、GitLab でフォークされたリポジトリーを通じてプルリクエストが発生すると、PipelineRun リソースは正常に作成されていましたが、その最終ステータスは GitLab UI に報告されませんでした。この更新により、問題が修正されました。
  • この更新前は、Pipelines as Code を使用する場合、GitLab はパイプライン実行のチェック名をパイプラインの単一エントリーとして表示していました。これにより、複数のパイプラインの実行が同時に実行され、そのうちの 1 つが失敗した場合に問題が発生しました。他のパイプラインの実行が成功した場合、失敗ステータスが上書きされ、パイプラインは成功したものとして表示されます。この更新により、パイプラインの実行ごとにすべてのチェック名が個別に表示されます。したがって、パイプラインの実行のいずれかが失敗した場合、パイプラインのステータスは失敗として正しく表示されます。
  • この更新前は、Pipelines as Code を使用するときに、PipelineRun リソース定義で {{ trigger_comment }} 変数を使用し、GitHub で複数行のコメントを送信すると、Pipelines as Code によってパイプライン実行の YAML 検証エラーが再通知される可能性がありました。この更新により、問題が修正されました。
  • この更新前は、Pipelines as Code を使用する場合、ブランチ名に他のコマンドとして解釈される可能性のある部分が含まれている /test branch:<branch> コマンドは正しく機能しませんでした。たとえば、/test branch:a/testbranch コマンドではブランチ名に /test が含まれ、このコマンドは失敗します。この更新により、誤動作を防ぐために、コメント内の最初の /test のサブ文字列のみがコマンドとして扱われるようになりました。
  • この更新前は、Pipelines as Code を使用する場合、権限のないユーザーが GitHub にプッシュされたコミットに対して /test/retest、またはその他の GitOps コマンドを送信すると、ユーザーにトリガー権限がなかったとしても PipelineRun リソースがトリガーされていました。この更新により、追加のユーザー認可チェックが追加され、適切な検証なしに PipelineRun リソースがトリガーされるのを防ぎます。
  • この更新前は、Pipelines as Code を使用する場合、権限のないユーザーがプルリクエストを発行し、リポジトリー管理者が /ok-to-test コマンドを送信すると、プルリクエストイベントに一致する PipelineRun リソースがない場合でも、保留中のチェックが作成されていました。この更新により、一致する PipelineRun リソースがない場合、保留中のチェックは作成されなくなります。代わりに、一致する PipelineRun が存在しないことを示す中立的なチェックが作成されます。
  • 今回の更新以前は、Bitbucket Data Center で Pipelines as Code を使用する場合、プッシュイベントユーザーは、body.changes オブジェクトなどの PipelineRun リソースのイベントペイロードのすべてのフィールドを参照できませんでした。今回の更新でこの問題が修正されています。

    {{ body.changes }} 動的変数の使用例

    Copy to Clipboard Toggle word wrap
    apiVersion: tekton.dev/v1
    kind: PipelineRun
    # ...
    spec:
        params:
          - name: ref_id
            value: "{{ body.changes[0].ref.id }}"
    # ...

  • この更新前は、Pipelines as Code を使用している場合、PipelineRun リソースの generateName フィールドを使用してリソースを incoming Webhook に紐づけしようとしても、その紐づけは正しく機能しませんでした。この更新により、問題が修正されました。
  • この更新前は、Pipelines as Code を使用する場合、Bitbucket Data Center のプッシュイベントで on-cel-expression アノテーションが機能していませんでした。この更新により、問題が修正されました。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat, Inc.