3.5. Bitbucket サーバーでの Pipelines as Code の使用
組織またはプロジェクトが優先プラットフォームとして Bitbucket Server を使用する場合は、Bitbucket Server の Webhook でリポジトリーの Pipelines as Code を使用できます。
前提条件
- Pipelines as Code がクラスターにインストールされている。
Bitbucket Server でプロジェクトのマネージャーとして Personal Access Token を生成し、そのコピーを別の場所に保存します。
注記-
トークンには、
PROJECT_ADMINおよびREPOSITORY_ADMIN権限が必要です。 - トークンには、プルリクエストでフォークされたリポジトリーへのアクセスが必要です。
-
トークンには、
手順
OpenShift クラスターで、Pipelines as Code コントローラーの公開 URL を抽出します。
echo https://$(oc get route -n openshift-pipelines pipelines-as-code-controller -o jsonpath='{.spec.host}')$ echo https://$(oc get route -n openshift-pipelines pipelines-as-code-controller -o jsonpath='{.spec.host}')Copy to Clipboard Copied! Toggle word wrap Toggle overflow Bitbucket Server で、以下の手順を実行します。
- Bitbucket Data Center リポジトリーの左側のナビゲーションペインを使用して Repository settings -> Webhooks に移動し、Add webhook をクリックします。
- Title を設定します。たとえば、"Pipelines as Code" です。
- URL を Pipelines as Code コントローラーのパブリック URL に設定します。
Webhook シークレットを追加し、そのコピーを別の場所に保存します。
opensslをローカルマシンにインストールしている場合は、以下のコマンドを使用してランダムなシークレットを生成します。openssl rand -hex 20
$ openssl rand -hex 20Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のイベントを選択します。
- Repository: Push
- Repository: Modified
- Pull Request: Opened
- Pull Request: Source branch updated
- Pull Request: Comment added
- Save をクリックします。
OpenShift クラスターで、ターゲット namespace に app パスワードを使用して
Secretオブジェクトを作成します。oc -n target-namespace create secret generic bitbucket-server-webhook-config \ --from-literal provider.token="<PERSONAL_TOKEN>" \ --from-literal webhook.secret="<WEBHOOK_SECRET>"
$ oc -n target-namespace create secret generic bitbucket-server-webhook-config \ --from-literal provider.token="<PERSONAL_TOKEN>" \ --from-literal webhook.secret="<WEBHOOK_SECRET>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow RepositoryCR を作成します。例:
RepositoryCRCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記tkn pac createおよびtkn pac bootstrapコマンドは Bitbucket サーバーではサポートされません。