1.3. Red Hat OpenShift Pipelines General Availability 1.17 のリリースノート


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

1.3.1. 新機能

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

1.3.1.1. Pipelines

  • このリリースでは、Git リゾルバーを使用して複数の Git プロバイダーを設定するか、同じ Git プロバイダーに複数の設定を TektonConfig カスタムリソース (CR) に追加できるようになりました。次に、configKey パラメーターを使用して、さまざまなタスク実行およびパイプライン実行で使用する Git 設定を指定できます。

    複数の Git プロバイダー設定の例

    apiVersion: operator.tekton.dev/v1alpha1
    kind: TektonConfig
    metadata:
      name: config
    spec:
    # ...
      pipeline:
        git-resolver-config:
          # configuration 1
          fetch-timeout: "1m"
          default-url: "https://github.com/tektoncd/catalog.git"
          default-revision: "main"
          scm-type: "github"
          server-url: ""
          api-token-secret-name: ""
          api-token-secret-key: ""
          api-token-secret-namespace: "default"
          default-org: ""
          # configuration 2
          test1.fetch-timeout: "5m"
          test1.default-url: ""
          test1.default-revision: "stable"
          test1.scm-type: "github"
          test1.server-url: "api.internal-github.com"
          test1.api-token-secret-name: "test1-secret"
          test1.api-token-secret-key: "token"
          test1.api-token-secret-namespace: "test1"
          test1.default-org: "tektoncd"
          # configuration 3
          test2.fetch-timeout: "10m"
          test2.default-url: ""
          test2.default-revision: "stable"
          test2.scm-type: "gitlab"
          test2.server-url: "api.internal-gitlab.com"
          test2.api-token-secret-name: "test2-secret"
          test2.api-token-secret-key: "pat"
          test2.api-token-secret-namespace: "test2"
          test2.default-org: "tektoncd-infra"
    # ...

    パイプライン実行で test1 設定を使用する例

    apiVersion: tekton.dev/v1
    kind: PipelineRun
    metadata:
      name: example
    spec:
      pipelineRef:
        resolver: git
        params:
        # ...
        - name: configKey
          value: test1
    # ...

  • この更新により、クラスターレベルに加えて、namespace、パイプライン、およびパイプライン実行レベルで実行中の PipelineRun リソースを監視できるようになりました。metrics.running-pipelinerun.level パラメーター値を namespacepipeline、または pipelinerun に設定することで、TektonConfig カスタムリソースを介してレベルを設定できます。デフォルト値は空で、クラスターレベルでモニタリングを設定します。

    namespace レベルで実行中のパイプライン実行を監視する例

    apiVersion: operator.tekton.dev/v1alpha1
    kind: TektonConfig
    metadata:
      name: config
    spec:
      pipeline:
        # ...
        metrics.running-pipelinerun.level: namespace
    # ...

  • 今回の更新により、パイプライン実行またはタスク実行の実行後に、リソースの YAML マニフェストには、実行したユーザーの ID を示すラベルが含まれるようになりました。PipelineRun リソースの場合には、ラベルは tekton.dev/PipelineRunUID です。TaskRun リソースの場合、ラベルは tekton.dev/TaskRunUID です。
  • 今回の更新では、TektonConfig CR で spec.pipeline.performance 仕様を使用して、threads-per-controllerkube-api-qpskube-api-burst などのパフォーマンスチューニング値を指定すると、OpenShift Pipelines はこれらの値をリゾルバーコントローラーおよび他のコントローラーに適用します。

1.3.1.2. Operator

  • この更新により、--all および --preserve-digests などの追加の引数を指定して skopeo-copy コマンドを実行できます。これらの引数は、以下の例のように、スペースで区切られた文字列として渡すことができます。

    コマンドの例

    $ tkn task start skopeo-copy -p ARGS="--all --preserve-digests"

  • 今回の更新により、OpenShift Pipelines は、パイプラインまたはタスクに適用するセキュリティーコンテキスト制約(SCC)の一時ボリューム設定を適用します。

1.3.1.3. Pipelines as Code

  • この更新により、pipelines_as_code_running_pipelineruns_count メトリクスが追加され、Pipelines as Code で実行中の PipelineRun リソースの数が表示されるようになりました。メトリクスは、リポジトリーまたは namespace でフィルタリングできます。
  • この更新により、pipelines_as_code_pipelinerun_duration_seconds_sum メトリクスが追加され、Pipelines as Code のすべての PipelineRun リソースが取得した合計期間が秒単位で表示されます。メトリクスは、リポジトリー、namespace、PipelineRun ステータス、および PipelineRun ステータス変更の理由でフィルタリングできます。

1.3.1.4. Tekton Results

  • 今回の更新により、Tekton Results を設定して、パイプラインとタスクの YAML マニフェストからの特定のラベルとアノテーションを結果テーブルの summary フィールド 列に含めることができます。デフォルトで、tekton.dev/pipeline ラベルの値が使用されます。この変更を加えるには、次の例に示すように TektonResult CR を変更します。

    TektonResult CR に要約ラベルとアノテーションを設定する例

    apiVersion: operator.tekton.dev/v1
    kind: TektonResult
    metadata:
      name: result
    spec:
      options:
        deployments:
          tekton-results-watcher:
            spec:
              template:
                spec:
                  containers:
                  - name: watcher
                    args:
                    - "--summary_labels=org.tekton.sample_label,tekton.dev/pipeline"
                    - "--summary_annotations=org.tekton.sample_annotation"

1.3.1.5. Tekton Chains

  • この更新により、TektonConfig カスタムリソース (CR) を設定して、ecdsa タイプの x509 キーペアを生成し、Tekton Chains で使用してアーティファクトに署名できるようになりました。TektonConfig カスタムリソース(CR)の generateSigningSecret フィールドを true に設定することで、キーペアを生成できます。

    ecdsa キーペアの作成例

    apiVersion: operator.tekton.dev/v1
    kind: TektonConfig
    metadata:
      name: config
    spec:
    # ...
      chain:
        disabled: false
        generateSigningSecret: true
    # ...

  • この更新前は、TektonConfig CR で Tekton Chains を設定しなかった場合、Operator はデフォルトの Chains 設定を渡してませんでした。この更新により、TektonConfig CR で Tekton Chains を設定しない場合、Operator は次のデフォルトプロパティーを使用して Tekton Chains 設定を行います。

    apiVersion: operator.tekton.dev/v1
    kind: TektonConfig
    metadata:
      name: config
    spec:
    # ...
      chain:
        artifacts.taskrun.format: in-toto
        artifacts.taskrun.storage: oci
        artifacts.oci.storage: oci
        artifacts.oci.format: simplesigning
        artifacts.pipelinerun.format: in-toto
        artifacts.pipelinerun.storage: oci
    # ...
  • この更新により、Tekton Chains は、任意の名前を指定できる指定されたファイルから mongo-server-url URL の抽出をサポートするようになりました。コンテナー内の有効なファイルパスを指す storage.docdb.mongo-server-url-path パラメーターを使用できるようになりました。

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

  • この更新により、非推奨の ClusterTask リソースが Operator から削除されました。代わりに、クラスターリゾルバーを使用して、OpenShift Pipelines が openshift-pipelines namespace にインストールするタスクにアクセスできます。

    重要

    OpenShift Pipelines 1.17 にアップグレードする前に、ClusterTask リソースを使用するパイプラインを設定した場合は、openshift-pipelines namespace のタスクを使用するようにそれらを編集する必要があります。そうしないと、アップグレード後にパイプラインが失敗します。

    openshift-pipelines namespace でのタスクの使用についての詳細は、OpenShift Pipelines namespace で提供されるタスク を参照してください。

  • この更新により、コミュニティークラスタータスクが Operator から削除されました。代わりに、Tekton カタログ (GitHub リソース) からダウンロードできます。コミュニティークラスタータスクは、今後のリリースでタスクとして追加される予定です。次のリストは、削除されたコミュニティークラスタータスクを示しています。

    • argocd-task-sync-and-wait
    • git-cli
    • helm-upgrade-from-repo
    • helm-upgrade-from-source
    • jib-maven
    • kubeconfig-creator
    • pull-request
    • trigger-jenkins-job

1.3.3. 修正された問題

  • この更新により、プッシュイベントペイロードにコミットが含まれていない場合、Pipelines as Code コントローラーは GitLab プッシュイベントを処理しなくなりました。代わりに、コミットがアタッチされていないことをユーザーに警告するエラーメッセージが正しく表示されます。
  • この更新により、Pipelines as Code コントローラーは GitLab タグの削除イベントを処理しなくなり、コントローラーがクラッシュしました。代わりに、タグイベントの削除がサポートされていないことをユーザーに警告するエラーメッセージが正しく表示されます。
  • この更新前は、body.eventKey フィールドなどの一部の標準変数、ヘッダー値、およびボディーフィールドは、Bitbucket サーバーの PipelineRun リソースで解決されませんでした。この更新により、問題が修正されました。
  • この更新により、skopeo-copy タスクは、SOURCE_IMAGE_URL パラメーターおよび DESTINATION_IMAGE_URL パラメーターが空のままになっている場合に、url.txt ファイルを使用した複数のイメージのコピーをサポートするようになりました。
  • この更新前は、空のリポジトリーで tkn pac create repo コマンドを実行すると、. 期間シンボルがテンプレート内のパイプライン実行の名前として生成されていました。この更新により、この問題は修正され、REPO_NAME.git がパイプライン実行名として使用されるようになりました。
  • この更新により、パイプライン実行の失敗処理が修正され、status.message フィールドで検証の失敗を正確に報告し、タスクが検証に失敗した場合でも、finally タスクを一貫してトリガーするようになりました。
  • この更新の前は、メモリー不足のエラーが原因で Pod が失敗した場合、タスクの実行はすぐに失敗していました。代わりに、しばらく応答できず、失敗しました。今回の更新により、タスクの実行がすぐに失敗します。
  • この更新の前は、CustomRun リソースが結果として配列を返すパイプラインまたはタスクリソースを参照すると、結果のタイプの不一致がログに報告されていました。今回の更新により、配列の結果は正しく処理されます。
  • この更新の前は、タスクの実行が失敗した場合、タスクの一部のステップのステータスが TaskRun YAML マニフェストに正しく記録されなかった場合がありました。今回の更新により、ステータスが正しく記録されるようになりました。
  • この更新前は、タスクのステップが失敗した場合、後続のステップはタスク実行またはパイプライン実行の YAML マニフェストで skipped としてマークされないことがありました。今回の更新により、ステップがスキップ済みとしてマークされるようになりました。c
  • この更新前は、パイプラインの実行に検証に失敗したタスクが含まれていた場合、前のタスクの失敗後に実行されることが予想される場合でも、後続の finally タスクは実行されませんでした。この更新により、finally タスクが実行します。
  • この更新の前は、GitLab で Pipelines as Code を使用する場合、.tekton ディレクトリーに 20 を超えるファイルが含まれる場合、一部のパイプライン実行は起動できませんでした。今回の更新により、パイプラインの実行が正しく開始されるようになりました。
  • この更新前は、BitBucket で Pipelines as Code を使用すると、BitBucket イベント内のペイロードが正しくないと、コードとしてのパイプラインコントローラーがクラッシュする可能性がありました。今回の更新により、コントローラーはクラッシュせず、処理前にペイロードを検証し、エラーを正しく報告するようになりました。
  • この更新前は、コードとしてのパイプラインを使用する場合、完了前にパイプライン実行を削除すると、一時的な Git 認証シークレットは OpenShift Container Platform namespace に残りました。この問題により、シークレットのクォータに到達し、この場合、新規パイプラインの実行を開始できませんでした。今回の更新により、Pipelines as Code は一時的なシークレットを適切に削除します。
  • この更新前は、BitBucket で Pipelines as Code を使用する場合、パイプライン実行が on-target-branch 用に設定されている場合(例: on-target-branch: [refs/tags/*] )にタグ関連のイベントが一致しません。これは、タグに関連する BitBucket イベントペイロードに refs/tags 接頭辞が含まれていないために発生しました。今回の更新により、Pipelines as Code はタグイベントを正しく一致させます。
  • この更新前は、タスクの実行がキャンセルされると、Tekton Chains にタスクの指定を記録していませんでした。この更新により、Tekton Chains はタスクの仕様を記録します。
  • この更新前は、Tekton Chains では、タスクがタスクのすべてのステップを正しく実行した場合でも、タスクの仕様(TaskRun.Status.steps)の仕様に記録したステップが一致しませんでした。今回の更新により、タスクの仕様とタスク実行で実行される手順が正しく記録されるようになりました。
  • この更新の前は、タイムアウトが原因でパイプラインの実行が終了すると、ログ出力に無効なエラーメッセージが含まれ、パイプライン実行のステータスが正しく報告されないことがありました。今回の更新により、このようなメッセージがログに表示されなくなり、ステータスは正しく報告されるようになりました。
  • 今回の更新以前は、タスクの 1 つまたは複数のステップでマウントするワークスペースを指定した場合、OpenShift Pipelines はタスクのすべてのステップにワークスペースをマウントしていました。この更新により、ワークスペースは指定された手順にのみマウントされます。
  • この更新前は、Pipelines as Code を使用する場合に、OpenShift Container Platform クラスターが非常にビジーな場合、同時実行キューが順不同で、Pipelines as Code が適切に回復されなかったため、一部のパイプライン実行が実行できませんでした。今回の更新により、Pipelines as Code は同時実行キューを適切に管理し、すべてのパイプライン実行を実行します。
  • 今回の更新以前は、TektonConfig CR でデフォルトのコンテナーリソース要件を指定し、LimitRange 設定をパイプラインまたはタスクに適用する場合、デフォルトの要件により、LimitRange 設定が適用されないことがありました。今回の更新により、LimitRange 設定はデフォルトのコンテナーのリソース要件をオーバーライドします。
  • この更新の前は、検証エラーが原因でパイプライン実行またはタスク実行の実行が失敗した場合、OpenShift Pipelines はパイプライン実行またはタスク実行の一般的な Failed ステータスを記録し、表示していました。今回の更新により、OpenShift Pipelines は Failed Validation ステータスを記録します。
  • 今回の更新以前は、tkn bundle コマンドを使用して大規模な Tekton バンドルのコンテンツを読み取ると、コマンドが失敗する可能性がありました。今回の更新により、tkn コマンドラインユーティリティーは大規模な Tekton バンドルを正しく処理するようになりました。
  • 今回の更新以前は、tkn コマンドラインユーティリティーを使用して完了したパイプライン実行を表示すると、パイプラインで設定した条件が原因でスキップされたタスクが Succeeded (Completed) と表示されていました。今回の更新により、それらは完了したものとして表示されなくなります。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.