`++)を入力します。このWebhookをトリガーするイベントを選択してください。[ウェブフックを追加]ボタンをクリックします。これで、誰かがリポジトリにコミットをプッシュすると、GitHubはコミットイベントに関する情報を含むペイロードを含むPOSTリクエストを送信します。他の便利なプロパティの中でも、トリガールールで定義したプロパティが含まれるため、WebhookサーバーはPOSTリクエストが有効かどうかを確認できます。+`のような他の情報が含まれます。page]にあります。+`スクリプトを指定しましたが、スクリプト自体は作成していません。リポジトリから最新のマスターブランチを取得し、ノードモジュールをインストールし、ビルドコマンドを実行します。スクリプトを作成します。/opt/scripts/redeploy.shまず、作成したファイルをクリーンアップする関数をスクリプトの先頭に追加します。再デプロイが正常に完了しなかった場合、Slackなどのサードパーティソフトウェアに通知する場所としてこれを使用することもできます。+」インタープリターに伝えます。+`がスクリプトに渡すパラメーターを抽出します。a`プロパティに対応していることに注意してください。最後に、アプリケーションの再デプロイに必要なコマンドを呼び出しましょう。build#完全なスクリプトは次のようになります。build#スクリプトはフォルダーに移動し、最新のマスターブランチからコードを取得し、新しいパッケージをインストールし、アプリケーションの製品バージョンをビルドします。「++」に注意してください。これは、このチュートリアルの最後のステップのプレースホルダーです。通知がなければ、スクリプトが適切に実行されたかどうかを知る本当の方法はありません。フックが実行できるようにスクリプトを実行可能にします。+`からファイルを提供するように設定されているため、このスクリプトを実行すると、ビルドディレクトリが更新され、Nginxは自動的に新しいファイルを提供します。これで、構成をテストする準備が整いました。webhookサーバーを実行してみましょう。次の出力が表示されます。`+`を提供していることを示しています。これにより、実行可能なサーバー上のパスまたはフックが公開されます。このURLで単純なREST呼び出し(GETなど)を実行すると、フックルールが満たされないため、特別なことは何も起こりません。+」を実行する必要があります。ローカルプロジェクトディレクトリで空のコミットを使用してこれをテストしてみましょう。webhookサーバーを実行したまま、ローカルマシンに戻って次を入力します。notification"コミットをmasterブランチにプッシュします。masterサーバーに次のような出力が表示されます。cwdそれでは、Slack通知を追加して、フックが通知付きのビルドの成功をトリガーしたときの動作を見てみましょう。+`スクリプトを変更してHTTPリクエストをSlackに送信できます。Webhook統合*を有効にして、サーバーから通知を受信するようにSlackを設定する必要もあります。Webhookサーバーに関する情報をスクリプトに追加できます。Slackを構成するには、次の手順を実行します。Slackのカスタマイズ*を選択します。次に、左側のサイドバーの[メニュー]にある[アプリの設定]セクションに移動します。[管理]パネルで、オプションの左側のリストから[カスタム統合]を選択します。[構成の追加]をクリックします。既存のチャネルを選択するか、新しいチャネルを作成します。[着信WebHooks統合の追加]をクリックします。webhook設定を表示する画面が表示されます。webhookサーバーによって生成されたエンドポイントです。このURLを書き留めて他の変更を行ったら、ページの下部にある[設定を保存]ボタンを押してください。+`スクリプトを開きます。/opt/scripts/redeploy.sh前のステップでは、Slack通知用のスクリプトにプレースホルダーを残しました(「+」と表記)。+`呼び出しに置き換えます。SlackフックはJSONボディを予期し、それを解析して、チャネルに適切な通知を表示します。+`呼び出しに置き換えます。*に置き換える必要があることに注意してください。+`呼び出しに置き換えました:1つ目は、スクリプトの実行中に発生したエラーの通知を受け取ることを保証します。2番目は、アプリケーションのビルドが開始されたという通知を送信します。3番目は、ビルドが正常に終了したという通知を送信します。documentation]をご覧ください。繰り返しますが、ローカルプロジェクトディレクトリで空のコミットを使用してフックをテストできます。webhookサーバーを実行したまま、このディレクトリに戻って空のコミットを作成します。notification"コミットをmasterブランチにプッシュして、ビルドをトリガーします。masterビルド情報を含む出力は次のようになります。redeploy-appSlackでは、選択したチャンネルにメッセージが届き、アプリケーションのビルドが開始したことと終了したことを通知します。結論これで、webhook、Nginx、シェルスクリプト、およびSlackを使用した展開システムのセットアップが完了しました。次のことができるはずです。アプリケーションの動的ビルドで動作するようにNginxを構成します。POSTリクエストでトリガーするフックを作成します。アプリケーションのビルドと通知をトリガーするスクリプトを作成します。これらの通知を受信するようにSlackを構成します。[GitLab]などの他のアプリケーションと連携するように構成できるため、このチュートリアルのシステムを拡張できます。[Hookdoo]を使用して同様のセットアップを構築できます。[フックページの例]を参照してください。