こんにちは。
すでに DroneCI を使用してアプリケーションに CI + CD を追加しようとしたことがある場合は、このツールがどれほど強力であるかをご存知でしょう。作品です
勉強のために、DevOps を少し深く掘り下げて、プロジェクトで開かれたプル リクエストごとにレビュー環境を動的に作成していました。すべてのジョブを処理するイメージで作業し (今後詳しく説明します)、個人用の K8s クラスターにデプロイします (Helm とテンプレートに感謝します)。
すべて実装した後、少し問題を発見しました。プロバイダー (この場合は Github) はすべての情報を含むフックを送信しますが、DroneCI はクローズされたアクションを単純に無視します。したがって、CI でクローズ PR アクションをトリガーすることはできません (私の場合、レビュー環境アプリケーションを削除します)。
Web で何度も検索した結果、解決策が見つからなかったので、ジャジャジャジャ、解決策を作成しました。
アクションが閉じられているときに、.drone.yaml に設定されたパイプラインをトリガーできないという問題にも直面した場合、考えられる解決策の 1 つは、GitHub と DroneCI の間にプロキシ フォワードを追加することです。アプリケーション。
プロジェクト:
https://github.com/tcharlezin/drone-ci-proxy
基本的に必要なのは、環境を構成することだけです。
WEB_PORT="8080"
TARGET_HOST="https://drone-ci.your-domain.here"
アプリケーションをデプロイし、プロキシの /hook を指すように GitHub を構成するだけです。
ここでフック情報を表示し、それに対処できます:
https://github.com/tcharlezin/drone-ci-proxy/blob/master/cmd/handle/handle.go#L64
お楽しみください!
以上がプル リクエストのクローズド アクションのプロキシ [DroneCI + GitHub]の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。