meゆとりITエンジニアがIT関係のお役立ち情報や身の丈にあったネタをつぶやきます。HomeAboutWorksMenuSidebarPrevNextSearchTwitterRSSFeedlyホーム>やってみたCodeCommitとSNSでWebhook2020年2月10日TwitterFacebookGoogle+LinkedInPocketCodeCommitにはGitHubのようなWebhookがありませんが、CodeCommitのトリガーとSNSやLambdaを組み合わせてリポジトリへのアクションをトリガーに処理を起動することができます。CodeCommitのトリガーとSNSのHTTPSサブスクリプションを使ってWebhookを実現してみます。CodeCommitトリガーの設定Webhookとして呼び出されるWebサービスを起動まずはSNSから呼び出されるURLで動くWebサービスを作成します。notifi...こちらを参考にPHPで組んでいきます。guzzleをComposerでインストールします。guzzlehttp/guzzle実行するPHPコードはこちらです。SNSにHTTPSサブスクリプションを登録するには、SNS登録時に飛んでくるバリデーションイベントに応答する必要があります。subscription」の部分がそれにあたります。'request.log');}PHPファイルを作成したら、SNSから呼び出せるようにインターネット上に公開する必要があります。今回はテスト実行なので、ngrokを使ってローカル上で動かしながらインターネット公開します。80ngrokでローカルのWebサイトをインターネット公開するSNSトピックとサブスクリプションの登録Webサービスの作成ができたらSNSトピックとサブスクリプション登録を行います。登録するとURLがPOSTされ、うまく応答が返せればサブスクリプションが認証されます。こんな感じでログがでます。subscriptionCodeCommitトリガーの設定CodeCommitリポジトリを作成し、トリガーを設定します。「トリガーのテストを実行」すると紐づけたトピックにぶら下がるサブスクリプションにメッセージを送信できます。保存してソースコードをプッシュしてみます。Repositoryブランチへのプッシュイベントが取れました。サブスクリプションは複数紐づけられるので、複数のWebサーバへのデプロイにも対応できますね。軽量PHPフレームワークSlimを使ってサクッとWebアプリひな形を作ってみるPHPには数多くのフレームワークがあります。SDKを使うときに丁度いいサンプルコードが欲しい場合。アソシエイト試験に合格しましたAWS認定アソシエイトレベルの開発者向け試験。コメントをキャンセルメールアドレスが公開されることはありません。*次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。