検索

1.11. Red Hat OpenShift Pipelines General Availability 1.7 のリリースノート

download PDF

Red Hat OpenShift Pipelines General Availability (GA) 1.7 が OpenShift Container Platform 4.9、4.10、および 4.11 で利用可能になりました。

1.11.1. 新機能

以下では、修正および安定性の面での改善点に加え、OpenShift Pipelines 1.7 の主な新機能を説明します。

1.11.1.1. Pipelines

  • 今回の更新では、pipelines-<version> が Red Hat OpenShift Pipelines Operator をインストールするためのデフォルトのチャネルです。たとえば、OpenShift Pipelines Operator バージョン 1.7 をインストールするデフォルトのチャネルは、pipelines-1.7 です。クラスター管理者は、latest チャネルを使用して、Operator の最新の安定バージョンをインストールすることもできます。

    注記

    preview チャネルと stable チャネルは廃止され、将来のリリースで削除される予定です。

  • ユーザー namespace でコマンドを実行すると、コンテナーは root (ユーザー ID 0) として実行されますが、ホストに対するユーザー特権があります。この更新では、ユーザー namespace で pod を実行するには、CRI-O が期待するアノテーションを渡す必要があります。

    • すべてのユーザーにこれらのアノテーションを追加するには、oc edit clustertask buildah コマンドを実行し、buildah クラスタータスクを編集します。
    • 特定の namespace にアノテーションを追加するには、クラスタータスクをタスクとしてその namespace にエクスポートします。
  • この更新の前は、特定の条件が満たされない場合、when 式は Task オブジェクトとその依存タスクをスキップしていました。今回の更新により、when 式のスコープを設定して、従属タスクではなく、Task オブジェクトのみを保護できるようになりました。この更新を有効にするには、TektonConfig CRD で scope-when-expressions-to-task フラグを true に設定します。

    注記

    scope-when-expressions-to-task フラグは非推奨であり、将来のリリースで削除される予定です。OpenShift Pipelines のベストプラクティスとして、保護された Task のみをスコープとする when 式を使用します。

  • この更新では、タスク内のワークスペースの subPath フィールドで変数置換を使用できます。
  • 今回の更新では、一重引用符または二重引用符を含む角かっこ表記を使用して、パラメーターと結果を参照できます。この更新以前は、ドット表記しか使用できませんでした。たとえば、次は同等になりました。

    • $(param.myparam)$(param['myparam'])、および $(param["myparam"])

      一重引用符または二重引用符を使用して、"." などの問題のある文字を含むパラメーター名を囲むことができます。たとえば、$(param['my.param'])$(param["my.param"])

  • この更新により、enable-api-fields フラグを有効にせずに、タスク定義にステップの onError パラメーターを含めることができます。

1.11.1.2. トリガー

  • この更新により、feature-flag-triggers 設定マップに新しいフィールド labels-exclusion-pattern が追加されました。このフィールドの値を正規表現 (regex) パターンに設定できます。コントローラーは、正規表現パターンに一致するラベルを、イベントリスナーからイベントリスナー用に作成されたリソースへの伝播から除外します。
  • この更新により、TriggerGroups フィールドが EventListener 仕様に追加されました。このフィールドを使用すると、トリガーのグループを選択して実行する前に実行するインターセプターのセットを指定できます。この機能を有効にするには、TektonConfig カスタムリソース定義の パイプライン セクションで、enable-api-fields フィールドを alpha に設定する必要があります。
  • この更新により、Trigger リソースは、TriggerTemplate テンプレートによって定義されたカスタム実行をサポートします。
  • この更新により、トリガーは EventListener Pod からの Kubernetes イベントの生成をサポートします。
  • この更新により、次のオブジェクトのカウントメトリクスが使用可能になります: ClusterInteceptorEventListenerTriggerTemplateClusterTriggerBinding、および TriggerBinding
  • この更新により、ServicePort 仕様が Kubernetes リソースに追加されます。この仕様を使用して、イベントリスナーサービスを公開するポートを変更できます。デフォルトのポートは 8080 です。
  • この更新では、EventListener 仕様の targetURI フィールドを使用して、トリガー処理中にクラウドイベントを送信できます。この機能を有効にするには、TektonConfig カスタムリソース定義の パイプライン セクションで、enable-api-fields フィールドを alpha に設定する必要があります。
  • この更新により、tekton-triggers-eventlistener-roles オブジェクトには、既存の create 動詞に加えて、patch 動詞が含まれるようになりました。
  • この更新により、securityContext.runAsUser パラメーターがイベントリスナーのデプロイメントから削除されます。

1.11.1.3. CLI

  • この更新では、tkn [pipeline | pipelinerun] export コマンドは、パイプラインまたはパイプライン実行を YAML ファイルとしてエクスポートします。以下に例を示します。

    • openshift-pipelines namespace に test_pipeline という名前のパイプラインをエクスポートします。

      $ tkn pipeline export test_pipeline -n openshift-pipelines
    • openshift-pipelines namespace に test_pipeline_run という名前のパイプラインランをエクスポートします。

      $ tkn pipelinerun export test_pipeline_run -n openshift-pipelines
  • この更新により、--grace オプションが tkn pipelinerun cancel に追加されます。--grace オプションを使用して、パイプラインの実行を強制的に終了するのではなく、適切に終了します。この機能を有効にするには、TektonConfig カスタムリソース定義の パイプライン セクションで、enable-api-fields フィールドを alpha に設定する必要があります。
  • この更新により、Operator バージョンと Chains バージョンが tkn version コマンドの出力に追加されます。

    重要

    Tekton Chains はテクノロジープレビュー機能です。

  • この更新により、パイプラインの実行をキャンセルすると、tkn pipelinerun describe コマンドはキャンセルされたすべてのタスクの実行を表示します。この修正以前は、1 つのタスク実行のみが表示されていました。
  • この更新により、tkn [t | p | ct] start コマンドのスキップを --skip-optional-workspace フラグで実行したときに、オプションのワークスペースの要求仕様を省略できるようになりました。インタラクティブモードで実行している場合はスキップすることもできます。
  • この更新では、tkn chains コマンドを使用して Tekton Chains を管理できます。--chains-namespace オプションを使用し Tekton Chains をインストールする namespace を指定することもできます。

    重要

    Tekton Chains はテクノロジープレビュー機能です。

1.11.1.4. Operator

  • この更新では、Red Hat OpenShift Pipelines Operator を使用して、Tekton Hub および Tekton Chains をインストールおよびデプロイできます。

    重要

    Tekton Chains とクラスターへの Tekton Hub のデプロイメントは、テクノロジープレビュー機能です。

  • この更新により、アドオンオプションとして Pipelines as Code (PAC) を見つけて使用できるようになります。

    重要

    Pipelines as Code は、テクノロジープレビュー機能です。

  • この更新により、communityClusterTasks パラメーターを false に設定することにより、コミュニティークラスタータスクのインストールを無効にできるようになりました。以下に例を示します。

    ...
    spec:
      profile: all
      targetNamespace: openshift-pipelines
      addon:
        params:
        - name: clusterTasks
          value: "true"
        - name: pipelineTemplates
          value: "true"
        - name: communityClusterTasks
          value: "false"
    ...
  • この更新では、TektonConfig カスタムリソースの enable-devconsole-integration フラグを false に設定することで、Tekton Hub と Developer パースペクティブの統合を無効にできます。以下に例を示します。

    ...
    hub:
      params:
        - name: enable-devconsole-integration
          value: "true"
    ...
  • 今回の更新により、operator-config.yaml 設定マップにより、tkn version コマンドの出力で Operator バージョンを表示できるようになります。
  • この更新により、argocd-task-sync-and-wait タスクのバージョンが v0.2 に変更されます。
  • この TektonConfig CRD の更新により、oc get tektonconfig コマンドは OPerator のバージョンを表示します。
  • この更新により、サービスモニターがトリガーメトリクスに追加されます。

1.11.1.5. ハブ

重要

Tekton Hub をクラスターにデプロイすることは、テクノロジープレビュー機能です。

Tekton Hub は、CI/CD ワークフローの再利用可能なタスクとパイプラインを検出、検索、および共有するのに役立ちます。Tekton Hub のパブリックインスタンスは、hub.tekton.dev で利用できます。

Red Hat OpenShift Pipelines 1.7 を確認しながら、クラスター管理者は Tekton Hub のカスタムインスタンスをエンタープライズクラスターにインストールしてデプロイすることもできます。組織に固有の再利用可能なタスクとパイプラインを使用してカタログをキュレートできます。

1.11.1.6. チェーン

重要

Tekton Chains はテクノロジープレビュー機能です。

Tekton Chains は、Kubernetes カスタムリソース定義 (CRD) コントローラーです。これを使用して、Red Hat OpenShift Pipelines を使用して作成されたタスクおよびパイプラインのサプライチェーンセキュリティーを管理できます。

デフォルトでは、Tekton Chains は OpenShift Container Platform クラスターで実行されるタスクをモニターします。Chains は、完了したタスク実行のスナップショットを取得し、それらを 1 つ以上の標準ペイロード形式に変換し、すべてのアーティファクトに署名して保存します。

Tekton Chains は、次の機能をサポートしています。

  • 暗号化キータイプと cosign などのサービスを使用して、タスク実行、タスク実行結果、および OCI レジストリーイメージに署名できます。
  • in-toto などの認証形式を使用できます。
  • OCI リポジトリーをストレージバックエンドとして使用して、署名と署名されたアーティファクトを安全に保存できます。

1.11.1.7. Pipelines as Code (PAC)

重要

Pipelines as Code は、テクノロジープレビュー機能です。

Pipelines as Code を使用すると、クラスター管理者と必要な権限を持つユーザーは、パイプラインテンプレートをソースコード Git リポジトリーの一部として定義できます。設定された Git リポジトリーのソースコードプッシュまたはプルリクエストによってトリガーされると、この機能はパイプラインを実行し、ステータスを報告します。

Pipelines as Code は、次の機能をサポートしています。

  • プルリクエストのステータス。プルリクエストを反復処理する場合、プルリクエストのステータスと制御は Git リポジトリーをホストしているプラットフォームで実行されます。
  • GitHub は API をチェックして、再チェックを含むパイプライン実行のステータスを設定します。
  • GitHub のプルリクエストとコミットイベント。
  • /retest などのコメントでリクエストアクションをプルします。
  • Git イベントのフィルタリング、およびイベントごとの個別のパイプライン。
  • ローカルタスク、Tekton Hub、およびリモート URL の OpenShift Pipelines での自動タスク解決。
  • 設定を取得するための GitHub blobs およびオブジェクト API の使用。
  • GitHub 組織を介して、または Prow スタイルの OWNER ファイルを使用したアクセス制御リスト (ACL)。
  • tkn CLI ツール用の tkn pac プラグイン。これを使用して Pipelines as Code リポジトリーとブートストラップを管理できます。
  • GitHub アプリケーション、GitHub Webhook、Bitbucket Server、および Bitbucket Cloud のサポート。

1.11.2. 非推奨の機能

  • 重大な変更: この更新により、TektonConfig カスタムリソース (CR) から disable-working-directory-overwrite および disable-home-env-overwrite フィールドが削除されます。その結果、TektonConfig CR は $HOME 環境変数と workingDir パラメーターを自動的に設定しなくなりました。タスク カスタムリソース定義 (CRD) の env および workingDir フィールドを使用して、引き続き $HOME 環境変数と workingDir パラメーターを設定できます。
  • Conditions カスタムリソース定義 (CRD) タイプは非推奨であり、将来のリリースで削除される予定です。代わりに、推奨される When 式を使用してください。
  • 重大な変更: EventListenerTriggerBinding の値を指定しない場合、Triggers リソースはテンプレートを検証し、エラーを生成します。

1.11.3. 既知の問題

  • Maven および Jib Maven クラスタータスクを実行する場合には、デフォルトのコンテナーイメージは Intel(x86) アーキテクチャーでのみサポートされます。したがって、タスクは ARM、IBM Power Systems (ppc64le)、IBM Z、および LinuxONE (s390x) クラスターで失敗します。回避策として、MAVEN_IMAGE パラメーターの値を maven:3.6.3-adoptopenjdk-11 に設定すると、カスタムイメージを指定できます。

    ヒント

    tkn hub を使用して、ARM、IBM Power Systems (ppc64le)、IBM Z、および LinuxONE (s390x) に Tekton カタログに基づくタスクをインストールする前に、これらのプラットフォームでタスクを実行できるかどうかを確認してください。ppc64le および s390x がタスク情報の「Platforms」セクションに一覧表示されているかどうかを確認するには、tkn hub info task <name> コマンドを実行します。

  • IBM Power Systems、IBM Z、および LinuxONE では、s2i-dotnet クラスタータスクはサポートされません。
  • nodejs:14-ubi8-minimal イメージストリームを使用すると、以下のエラーが生成されるため、使用できません。

    STEP 7: RUN /usr/libexec/s2i/assemble
    /bin/sh: /usr/libexec/s2i/assemble: No such file or directory
    subprocess exited with status 127
    subprocess exited with status 127
    error building at STEP "RUN /usr/libexec/s2i/assemble": exit status 127
    time="2021-11-04T13:05:26Z" level=error msg="exit status 127"
  • 暗黙的なパラメーターマッピングは、最上位の Pipeline または PipelineRun 定義から taskRef タスクにパラメーターを誤って渡します。マッピングは、トップレベルのリソースからインライン taskSpec 仕様のタスクにのみ行う必要があります。この問題は、TektonConfig カスタムリソース定義の pipeline セクションで enable-api-fields フィールドを alpha に設定することにより、この機能が有効になっているクラスターにのみ影響します。

1.11.4. 修正された問題

  • 今回の更新では、labelsannotations などのメタデータが Pipeline オブジェクト定義と PipelineRun オブジェクト定義の両方に存在する場合、PipelineRun タイプの値が優先されます。Task オブジェクトと TaskRun オブジェクトで同様の動作が見られます。
  • この更新では、timeouts.tasks フィールドまたは timeouts.finally フィールドが 0 に設定されている場合、timeouts.pipeline0 に設定されます。
  • この更新により、シバンを使用しないスクリプトから -x セットフラグが削除されました。この修正により、スクリプト実行による潜在的なデータ漏洩が減少します。
  • この更新により、Git クレデンシャルのユーザー名に存在するバックスラッシュ文字は、.gitconfig ファイルの追加のバックスラッシュでエスケープされます。
  • この更新により、EventListener オブジェクトの finalizer プロパティーは、ロギングおよび設定マップのクリーンアップに必要なくなりました。
  • この更新により、イベントリスナーサーバーに関連付けられているデフォルトの HTTP クライアントが削除され、カスタム HTTP クライアントが追加されます。その結果、タイムアウトが改善されました。
  • この更新により、トリガークラスターのロールが所有者の参照で機能するようになりました。
  • この更新では、複数のインターセプターが拡張機能を返す場合、イベントリスナーの競合状態は発生しません。
  • この更新により、tkn pr delete コマンドは、ignore-running フラグで実行されているパイプラインを削除しません。
  • この更新では、アドオンパラメーターを変更しても、Operator Pod は再起動し続けません。
  • この更新により、サブスクリプションおよび設定カスタムリソースで設定されていない場合、tkn serve CLI Pod はインフラノードでスケジュールされます。
  • この更新では、指定されたバージョンのクラスタータスクはアップグレード中に削除されません。

1.11.5. Red Hat OpenShift Pipelines General Availability 1.7.1 のリリースノート

Red Hat OpenShift Pipelines General Availability (GA) 1.7.1 が OpenShift Container Platform 4.9、4.10、および 4.11 で利用可能になりました。

1.11.5.1. 修正された問題

  • 今回の更新以前は、Red Hat OpenShift Pipelines Operator をアップグレードすると、Tekton Hub に関連付けられたデータベースのデータが削除され、新規データベースがインストールされていました。今回の更新により、Operator のアップグレードでデータが保存されるようになりました。
  • 今回の更新以前は、クラスター管理者のみが OpenShift Container Platform コンソールでパイプラインメトリクスにアクセスできていました。今回の更新により、他のクラスターロールを持つユーザーもパイプラインメトリクスにアクセスできるようになりました。
  • 今回の更新以前は、大量の終了メッセージを生成するタスクが含まれるパイプラインの場合、パイプラインの実行に失敗しました。Pod 内のすべてのコンテナーの終了メッセージの合計サイズは 12 KB を超えることができないために、パイプライン実行が失敗しました。今回の更新により、同じイメージを使用する place-tools および step-init 初期化コンテナーがマージされ、各タスクの Pod で実行されているコンテナーの数が減りました。このソリューションにより、タスクの Pod で実行されているコンテナーの数を最小限にすることにより、パイプライン実行に失敗する可能性を減らすことができます。ただし、終了メッセージの最大許容サイズの制限は削除されません。
  • 今回の更新以前は、Tekton Hub Web コンソールからリソースの URL に直接アクセスしようとすると、Nginx 404 エラーが発生しました。今回の更新で、Tekton Hub Web コンソールイメージは、Tekton Hub Web コンソールから直接リソースの URL にアクセスできるように修正されました。
  • 今回の更新以前は、namespace ごとにリソースプルーナージョブがリソースのプルーニング用に別個のコンテナーを作成していました。今回の更新により、リソースプルーナージョブはすべての namespace のコマンドを 1 つのコンテナーのループとして実行するようになりました。

1.11.6. Red Hat OpenShift Pipelines General Availability 1.7.2 のリリースノート

Red Hat OpenShift Pipelines General Availability (GA) 1.7.2 が OpenShift Container Platform 4.9、4.10、およびそれ以降のバージョンで利用可能になりました。

1.11.6.1. 既知の問題

  • openshift-pipelines namespace の Tekton Chains の chains-config 設定マップは、Red Hat OpenShift Pipelines Operator のアップグレード後に自動的にデフォルト値にリセットされます。現在、この問題に対する回避策はありません。

1.11.6.2. 修正された問題

  • 今回の更新前は、OpenShift Pipelines 1.7.1 のタスクは、最初の引数として init を使用し、その後に 2 つ以上の引数を使用すると失敗しました。今回の更新により、フラグが正しく解析され、タスクが正常に実行されるようになりました。
  • 今回の更新以前は、無効なロールバインディングにより、OpenShift Container Platform 4.9 および 4.10 への Red Hat OpenShift Pipelines Operator のインストールは、以下のエラーメッセージと共に失敗していました。

    error updating rolebinding openshift-operators-prometheus-k8s-read-binding: RoleBinding.rbac.authorization.k8s.io "openshift-operators-prometheus-k8s-read-binding" is invalid: roleRef: Invalid value: rbac.RoleRef{APIGroup:"rbac.authorization.k8s.io", Kind:"Role", Name:"openshift-operator-read"}: cannot change roleRef

    今回の更新により、Red Hat OpenShift Pipelines Operator は個別のロールバインディング namespace でインストールし、他の Operator のインストールとの競合を回避するようになりました。

  • 今回の更新以前は、Operator をアップグレードすると、Tekton Chains の signing-secrets シークレットキーがデフォルト値にリセットされていました。今回の更新により、カスタムシークレットキーは Operator のアップグレード後も永続するようになりました。

    注記

    Red Hat OpenShift Pipelines 1.7.2 へのアップグレードにより、キーがリセットされます。ただし、それ以降のリリースにアップグレードすると、キーは永続化される予定です。

  • 今回の更新以前は、すべての S2I ビルドタスクが以下の様なエラーメッセージと共に失敗していました。

    Error: error writing "0 0 4294967295\n" to /proc/22/uid_map: write /proc/22/uid_map: operation not permitted
    time="2022-03-04T09:47:57Z" level=error msg="error writing \"0 0 4294967295\\n\" to /proc/22/uid_map: write /proc/22/uid_map: operation not permitted"
    time="2022-03-04T09:47:57Z" level=error msg="(unable to determine exit status)"

    今回の更新により、pipelines-scc セキュリティーコンテキスト制約 (SCC) は、Buildah および S2I クラスタータスクに必要な SETFCAP 機能と互換性が確保されています。その結果、Buildah および S2I ビルドタスクを正常に実行できます。

    さまざまな言語やフレームワークで書かれたアプリケーションに対して Buildah クラスタータスクおよび S2I ビルドタスクを正常に実行するには、buildpush などの適切な steps オブジェクトに以下のスニペットを追加します。

    securityContext:
      capabilities:
        add: ["SETFCAP"]

1.11.7. Red Hat OpenShift Pipelines General Availability 1.7.3 のリリースノート

Red Hat OpenShift Pipelines General Availability (GA) 1.7.3 が OpenShift Container Platform 4.9、4.10、および 4.11 で利用可能になりました。

1.11.7.1. 修正された問題

  • 今回の更新前は、いずれかの namespace が Terminating 状態の場合、RBAC リソースの作成時に Operator が失敗していました。今回の更新により、Operator は Terminating 状態の namespace を無視し、RBAC リソースを作成します。
  • 以前は、Red Hat OpenShift Pipelines Operator をアップグレードすると pipeline サービスアカウントが再作成され、サービスアカウントにリンクされたシークレットが失われていました。今回の更新でこの問題が修正されています。アップグレード中に、Operator は pipeline サービスアカウントを再作成しなくなりました。その結果、pipeline サービスアカウントにアタッチされたシークレットはアップグレード後も保持され、リソース (タスクとパイプライン) は引き続き正しく機能します。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.