検索

1.13. Red Hat OpenShift Pipelines General Availability (GA) 1.5 のリリースノート

download PDF

Red Hat OpenShift Pipelines General Availability (GA) 1.5 が OpenShift Container Platform 4.8 で利用可能になりました。

1.13.1. 互換性およびサポート表

現在、今回のリリースに含まれる機能には テクノロジープレビュー のものがあります。これらの実験的機能は、実稼働環境での使用を目的としていません。

以下の表では、機能は以下のステータスでマークされています。

TP

テクノロジープレビュー

GA

一般公開 (GA)

これらの機能に関しては、Red Hat カスタマーポータルの以下のサポート範囲を参照してください。

表1.4 互換性およびサポート表
機能バージョンサポートステータス

Pipelines

0.24

GA

CLI

0.19

GA

カタログ

0.24

GA

トリガー

0.14

TP

パイプラインリソース

-

TP

質問やフィードバックについては、製品チームに pipelines-interest@redhat.com 宛のメールを送信してください。

1.13.2. 新機能

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

  • パイプライン実行およびタスク実行は、ターゲット namespace の cron ジョブによって自動的にプルーニングされます。cron ジョブは IMAGE_JOB_PRUNER_TKN 環境変数の値を使用して tkn image の値を取得します。今回の機能拡張により、以下のフィールドが TektonConfig カスタムリソースに導入されるようになりました。

    ...
    pruner:
      resources:
        - pipelinerun
        - taskrun
      schedule: "*/5 * * * *" # cron schedule
      keep: 2 # delete all keeping n
    ...
  • OpenShift Container Platform で、Tekton Add-ons コンポーネントのインストールをカスタマイズするには、TektonConfig カスタムリソースの新規パラメーター clusterTasks および pipelinesTemplates の値を変更します。

    apiVersion: operator.tekton.dev/v1alpha1
    kind: TektonConfig
    metadata:
      name: config
    spec:
      profile: all
      targetNamespace: openshift-pipelines
      addon:
        params:
        - name: clusterTasks
          value: "true"
        - name: pipelineTemplates
          value: "true"
    ...

    カスタマイズは、TektonConfig を使用してアドオンを作成するか、Tekton Add-ons を使用して直接アドオンを作成する場合に許可されます。ただし、パラメーターが渡されない場合、コントローラーはデフォルト値でパラメーターを追加します。

    注記
    • アドオンが TektonConfig カスタムリソースを使用して作成され、Addon カスタムリソースでパラメーター値を変更すると、TektonConfig カスタムリソースの値が変更を上書きします。
    • pipelinesTemplates パラメーターの値は、clusterTasks パラメーターの値が true の場合のみ true に設定できます。
  • enableMetrics パラメーターが TektonConfig カスタムリソースに追加されます。これを使用して、OpenShift Container Platform の Tekton Pipeline の一部であるサービスモニターを無効にすることができます。

    apiVersion: operator.tekton.dev/v1alpha1
    kind: TektonConfig
    metadata:
      name: config
    spec:
      profile: all
      targetNamespace: openshift-pipelines
      pipeline:
        params:
        - name: enableMetrics
          value: "true"
    ...
  • プロセスレベルでメトリクスをキャプチャーする Eventlistener OpenCensus メトリクスが追加されました。
  • トリガーにはラベルセレクターが追加され、ラベルを使用してイベントリスナーのトリガーを設定できるようになりました。
  • インターセプターを登録する ClusterInterceptor カスタムリソース定義が追加され、プラグインできる新しい Interceptor タイプを登録できるようになりました。さらに、以下の関連する変更が行われます。

    • トリガー仕様では、ref フィールドが含まれる新しい API を使用してインターセプターを設定し、クラスターインターセプターを参照できます。さらに、params フィールドを使用して、処理用のインターセプターに渡すパラメーターを追加することができます。
    • バンドルされたインターセプター CEL、GitHub、GitLab、および BitBucket が移行されました。新しい ClusterInterceptor カスタムリソース定義を使用して実装されます。
    • コアインターセプターは新しい形式に移行され、古い構文を使用して作成された新しいトリガーは自動的に新しい ref または params ベースの構文に切り替わります。
  • ログの表示中にタスクまたはステップの名前の接頭辞を無効にするには、log コマンドに --prefix オプションを使用します。
  • 特定のコンポーネントのバージョンを表示するには、tkn version コマンドで新しい --component フラグを使用します。
  • tkn hub check-upgrade コマンドが追加され、他のコマンドはパイプラインのバージョンに基づいて変更されます。さらに、カタログ名は search コマンドの出力に表示されます。
  • 任意のワークスペースのサポートは start コマンドに追加されます。
  • プラグインが plugins ディレクトリーに存在しない場合は、現在のパスで検索されます。
  • tkn start [task | clustertask | pipeline] コマンドは、対話的に開始し、デフォルトパラメーターが指定されている場合でも params 値の入力を求めます。対話式プロンプトを停止するには、コマンドの呼び出し時に --use-param-defaults フラグを渡します。以下に例を示します。

    $ tkn pipeline start build-and-deploy \
        -w name=shared-workspace,volumeClaimTemplateFile=https://raw.githubusercontent.com/openshift/pipelines-tutorial/pipelines-1.15/01_pipeline/03_persistent_volume_claim.yaml \
        -p deployment-name=pipelines-vote-api \
        -p git-url=https://github.com/openshift/pipelines-vote-api.git \
        -p IMAGE=image-registry.openshift-image-registry.svc:5000/pipelines-tutorial/pipelines-vote-api \
        --use-param-defaults
  • version フィールドは tkn task describe コマンドに追加されます。
  • TriggerTemplateTriggerBindingClusterTriggerBindingEventlistener などのリソースを自動的に選択するオプションのいずれか 1 つが存在する場合は、describe コマンドに追加されます。
  • tkn pr describe コマンドでは、省略されたタスクのセクションが追加されます。
  • tkn clustertask logs のサポートが追加されました。
  • config.yaml からの YAML マージおよび変数は削除されます。さらに、release.yaml ファイルは、kustomizeytt などのツールでより簡単に消費されるようになりました。
  • ドット文字 (".") を含むリソース名のサポートが追加されました。
  • PodTemplate 仕様の hostAliases 配列が、ホスト名解決の Pod レベルの上書きに追加されます。これには、/etc/hosts ファイルを変更します。
  • タスクのアグリゲート実行ステータスにアクセスするために、変数 $(tasks.status) が導入されました。
  • Windows のエントリーポイントバイナリービルドが追加されます。

1.13.3. 非推奨の機能

  • when 式では、PascalCase で記述されたフィールドのサポートが削除されます。when 式は、小文字で記述されたフィールドのみをサポートします。

    注記

    Tekton Pipelines v0.16 (Operator v1.2.x) の when 式のあるパイプラインを適用している場合は、これを再度適用する必要があります。

  • Red Hat OpenShift Pipelines Operator を v1.5 にアップグレードする場合、openshift-client および openshift-client-v-1-5-0 クラスタータスクには SCRIPT パラメーターがあります。ただし、ARGS パラメーターおよび git リソースは openshift-client クラスタータスクの仕様から削除されます。これは重大な変更であり、ClusterTask リソースの name フィールドに特定のバージョンのないクラスタータスクがシームレスにアップグレードされます。

    パイプラインの実行が中断しないようにするには、アップグレード後に SCRIPT パラメーターを使用します。これは、ARGS パラメーターで以前に指定された値がクラスタータスクの SCRIPT パラメーターに移動するためです。以下に例を示します。

    ...
    - name: deploy
      params:
      - name: SCRIPT
        value: oc rollout status <deployment-name>
      runAfter:
        - build
      taskRef:
        kind: ClusterTask
        name: openshift-client
    ...
  • Red Hat OpenShift Pipelines Operator v1.4 から v1.5 にアップグレードする場合は、TektonConfig カスタムリソースがインストールされるプロファイル名が変更になりました。

    表1.5 TektonConfig カスタムリソースのプロファイル
    Pipelines 1.5 のプロファイルPipelines 1.4 の対応するプロファイルインストールされた Tekton コンポーネント

    すべて (デフォルトプロファイル)

    すべて (デフォルトプロファイル)

    Pipelines、Triggers、Add-ons

    Basic

    デフォルト

    Pipeline、Triggers

    Lite

    Basic

    Pipelines

    注記

    TektonConfig カスタムリソースの config インスタンスで profile: all を使用した場合は、リソース仕様を変更する必要はありません。

    ただし、インストールされた Operator がアップグレード前に Default または Basic プロファイルのいずれかにある場合は、アップグレード後に TektonConfig カスタムリソースの config インスタンスを編集する必要があります。たとえば、アップグレードの前に設定が profile: basic の場合は、Pipeline 1.5 へのアップグレード後にこれが profile: lite であることを確認します。

  • disable-home-env-overwrite フィールドおよび disable-working-dir-overwrite フィールドは非推奨となり、今後のリリースで削除されます。本リリースでは、後方互換性のために、これらのフラグのデフォルト値が true に設定されます。

    注記

    次回のリリース (Red Hat OpenShift Pipelines 1.6) では、HOME 環境変数は自動的に /tekton/home に設定されず、デフォルトの作業ディレクトリーはタスク実行の /workspace に設定されていません。これらのデフォルトは、この手順のイメージの Dockerfile で設定されているすべての値と競合します。

  • ServiceType フィールドおよび podTemplate フィールドは EventListener 仕様から削除されます。
  • コントローラーサービスアカウントは、namespace のリスト表示および監視に対してクラスター全体のパーミッションを要求しなくなりました。
  • EventListener リソースのステータスには、Ready という新規条件があります。

    注記

    今後、EventListener リソースの他のステータス条件は非推奨となり、Ready ステータス条件が優先されます。

  • EventListener 応答の eventListener フィールドおよび namespace フィールドは非推奨になりました。代わりに eventListenerUID フィールドを使用してください。
  • replicas フィールドは EventListener 仕様から非推奨になります。その代わりに、spec.replicas フィールドは KubernetesResource 仕様の spec.resources.kubernetesResource.replicas に移動されます。

    注記

    replicas フィールドは今後のリリースで削除されます。

  • コアインターセプターの設定における古い方法は非推奨になりました。ただし、今後のリリースで削除されるまでこれらの作業は継続されます。代わりに、Trigger リソースのインターセプターが新しい ref および params ベースの構文を使用して設定されるようになりました。作成されるデフォルトの Webhook は、新規トリガーの古い構文の使用を新規構文に自動的に切り替えます。
  • ClusterRoleBinding リソースに非推奨の rbac.authorization.k8s.io/v1beta1 ではなく rbac.authorization.k8s.io/v1 を使用します。
  • クラスターロールでは、serviceaccountssecretsconfigmapslimitranges などのリソースへのクラスター全体の書き込みアクセスが削除されます。さらに、deploymentsstatefulsetsdeployment/finalizers などのリソースにクラスター全体のアクセスが削除されます。
  • caching.internal.knative.dev グループの image カスタムリソース定義は Tekton により使用されず、本リリースで除外されます。

1.13.4. 既知の問題

  • git-cli クラスタータスクは、alpine/git ベースイメージから構築されます。これは、/root がユーザーのホームディレクトリーであると想定します。ただし、これは git-cli クラスタータスクに明示的に設定されません。

    Tekton では、特に指定がない場合は、デフォルトのホームディレクトリーはタスクのすべての手順で /tekton/home で上書きされます。ベースイメージの $HOME 環境変数を上書きすると、git-cli クラスタータスクが失敗します。

    この問題は、今後のリリースで修正される予定です。Red Hat OpenShift Pipelines 1.5 以前のバージョンでは、以下の回避策のいずれかを使用 して、git-cli クラスタータスクの失敗を防ぐことができます。

    • この手順で $HOME 環境変数を設定します。これにより、上書きされないようにします。

      1. [オプション] Operator を使用して Red Hat OpenShift Pipeline をインストールしている場合は、git-cli クラスタータスクを別のタスクにクローンします。このアプローチにより、Operator はクラスタータスクに加えられた変更を上書きしないようにします。
      2. oc edit clustertasks git-cli コマンドを実行します。
      3. 予想される HOME 環境変数をステップの YAML に追加します。

        ...
        steps:
          - name: git
            env:
            - name: HOME
              value: /root
            image: $(params.BASE_IMAGE)
            workingDir: $(workspaces.source.path)
        ...
        警告

        オペレーターがインストールした Red Hat OpenShift Pipelines の場合、HOME 環境変数を変更する前に git-cli クラスタータスクを別のタスクに複製しないと、Operator の調整中に変更が上書きされます。

    • feature-flags 設定マップで HOME 環境変数の上書きを無効にします。

      1. oc edit -n openshift-pipelines configmap feature-flags コマンドを実行します。
      2. disable-home-env-overwrite フラグの値を true に設定します。

        警告
        • Operator を使用して Red Hat OpenShift Pipelines をインストールしている場合、変更は Operator の調整時に上書きされます。
        • disable-home-env-overwrite フラグのデフォルト値を変更すると、すべてのタスクのデフォルトの動作を変更するため、他のタスクやクラスタータスクが破損する可能性があります。
    • パイプラインのデフォルトサービスアカウントが使用される場合に HOME 環境変数の上書きを行うため、git-cli クラスタータスクに別のサービスアカウントを使用します。

      1. 新規のサービスアカウントを作成します。
      2. 作成したサービスアカウントに Git シークレットをリンクします。
      3. タスクまたはパイプラインの実行中にサービスアカウントを使用します。
  • IBM Power Systems、IBM Z、および LinuxONE では、s2i-dotnet クラスタータスクと tkn hub コマンドはサポートされません。
  • Maven および Jib Maven クラスタータスクを実行する場合には、デフォルトのコンテナーイメージは Intel(x86) アーキテクチャーでのみサポートされます。したがって、IBM Power Systems(ppc64le)、IBM Z、および LinuxONE(s390x) クラスターではタスクに失敗します。回避策として、MAVEN_IMAGE パラメーターの値を maven:3.6.3-adoptopenjdk-11 に設定すると、カスタムイメージを指定できます。

1.13.5. 修正された問題

  • dag タスクの when 式は、他のタスクの実行ステータス ($(tasks.<pipelineTask>.status)) にアクセスするコンテキスト変数を指定できません。
  • PipelineRun リソースがすぐに削除されてから再作成される状況で、volumeClaimTemplate PVC を削除することにより作成される競合状態を回避するのに役立つため、所有者名の代わりに所有者 UID を使用します。
  • root 以外のユーザーによってトリガーされる build-base イメージの pullrequest-init に新しい Dockerfile が追加されます。
  • パイプラインまたはタスクが -f オプションで実行され、その定義の paramtype が定義されていない場合は、パイプラインまたはタスク実行が失敗する代わりに検証エラーが生成されます。
  • tkn start [task | pipeline | clustertask] コマンドの場合は、--workspace フラグの説明に一貫性が保たれました。
  • パラメーターを解析する際に、空の配列が発生すると、対応する対話的なヘルプが空の文字列として表示されるようになりました。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.