21.4. OpenShift Operator パイプラインを実行します
以下のメソッドを使用して、OpenShift Operator パイプラインを実行できます。
次の例から、要件に応じてパラメーターとワークスペースを削除または追加します。
以前は Red Hat CodeReady Containers (CRC) と呼ばれていた Red Hat OpenShift Local、または ppc64le アーキテクチャー用の IBM Power 上の Red Hat OpenShift を使用している場合は、権限の問題を回避するために、すべての ci パイプラインコマンドに次の tekton CLI 引数を渡します。
--pod-template templates/crc-pod-template.yml
トラブルシューティング
OpenShift Pipelines Operator 1.9 以降が機能しない場合は、次の手順に従って修正してください。
前提条件
カスタム Security Context Constraints (SCC) を作成する前に、クラスターの管理者権限があることを確認してください。
手順
OpenShift Pipelines Operator 1.9 以降が機能し、特権エスカレーションが必要な ci-pipeline 内のタスクのサブセットを実行するには、次のコマンドを使用してカスタム Security Context Constraints (SCC) を作成し、それをパイプラインサービスアカウントにリンクします。
新規 SCC を作成するには、以下を実行します。
oc apply -f ansible/roles/operator-pipeline/templates/openshift/openshift-pipelines-custom-scc.yml新しい SCC を ci-pipeline サービスアカウントに追加するには、以下を実行します。
oc adm policy add-scc-to-user pipelines-custom-scc -z pipeline
関連情報
SCC の詳細については、Security Context Constraints について を参照してください。
21.4.1. 最小限のパイプラインの実行 リンクのコピーリンクがクリップボードにコピーされました!
手順
ターミナルウィンドウで、次のコマンドを実行します。
GIT_REPO_URL=<Git URL to your certified-operators fork >
BUNDLE_PATH=<path to the bundle in the Git Repo> (For example - operators/my-operator/1.2.8)
tkn pipeline start operator-ci-pipeline \
--param git_repo_url=$GIT_REPO_URL \
--param git_branch=main \
--param bundle_path=$BUNDLE_PATH \
--param env=prod \
--workspace name=pipeline,volumeClaimTemplateFile=templates/workspace-template.yml \
--showlog
コマンドを実行した後、パイプラインは追加のパラメーターを指定するように要求します。すべてのデフォルト値を受け入れて、パイプラインの実行を終了します。
以下はデフォルトとして設定されており、明示的に含める必要はありませんが、kubeconfig シークレットが別の名前で作成されている場合はオーバーライドできます。
--param kubeconfig_secret_name=kubeconfig \
--param kubeconfig_secret_key=kubeconfig
ppc64le および s390x アーキテクチャーで ci パイプラインを実行している場合は、パラメーター param pipeline_image の値をデフォルト値 quay.io/redhat-isv/operator-pipelines-images:released から quay.io/redhat-isv/operator-pipelines-images:multi-arch に編集します。
トラブルシューティング
SSH URL を使用しているときに Permission Denied エラーが発生した場合は、GITHUB HTTPS URL を試してください。
21.4.2. イメージダイジェストの固定でパイプラインを実行する リンクのコピーリンクがクリップボードにコピーされました!
前提条件
ダイジェストピン留めの有効化 の手順を実行します。
手順
ターミナルウィンドウで、次のコマンドを実行します。
GIT_REPO_URL=<Git URL to your certified-operators fork >
BUNDLE_PATH=<path to the bundle in the Git Repo> (ie: operators/my-operator/1.2.8)
GIT_USERNAME=<your github username>
GIT_EMAIL=<your github email address>
tkn pipeline start operator-ci-pipeline \
--param git_repo_url=$GIT_REPO_URL \
--param git_branch=main \
--param bundle_path=$BUNDLE_PATH \
--param env=prod \
--param pin_digests=true \
--param git_username=$GIT_USERNAME \
--param git_email=$GIT_EMAIL \
--workspace name=pipeline,volumeClaimTemplateFile=templates/workspace-template.yml \
--workspace name=ssh-dir,secret=github-ssh-credentials \
--showlog
トラブルシューティング
エラーが出される場合、could not read Username for https://github.com。--param git_repo_url の SSH github URL を指定します。
21.4.3. プライベートコンテナーレジストリーを使用してパイプラインを実行する リンクのコピーリンクがクリップボードにコピーされました!
前提条件
プライベートコンテナーレジストリーを使用して に含まれている手順を実行します。
手順
ターミナルウィンドウで、次のコマンドを実行します。
GIT_REPO_URL=<Git URL to your certified-operators fork >
BUNDLE_PATH=<path to the bundle in the Git Repo> (ie: operators/my-operator/1.2.8)
GIT_USERNAME=<your github username>
GIT_EMAIL=<your github email address>
REGISTRY=<your image registry. ie: quay.io>
IMAGE_NAMESPACE=<namespace in the container registry>
tkn pipeline start operator-ci-pipeline \
--param git_repo_url=$GIT_REPO_URL \
--param git_branch=main \
--param bundle_path=$BUNDLE_PATH \
--param env=prod \
--param pin_digests=true \
--param git_username=$GIT_USERNAME \
--param git_email=$GIT_EMAIL \
--param registry=$REGISTRY \
--param image_namespace=$IMAGE_NAMESPACE \
--workspace name=pipeline,volumeClaimTemplateFile=templates/workspace-template.yml \
--workspace name=ssh-dir,secret=github-ssh-credentials \
--workspace name=registry-credentials,secret=registry-docker config-secret \
--showlog \