【やってみた】goで動くlambdaをgithubからデプロイできる環境を作ってみる! その3

どーも!

たかぽんです!

間が空いてしまいましたがやっていきます!

本記事でできること

本記事では以下のことを行います。

  • lambdaのログを確認する
  • slackデプロイ時にslackの通知を出す

動作自体は前の記事で実装済みなので、あとはlambdaのログを確認して、デプロイ次の通知を飛ばす...というところをやっていきます!

lambdaのログの確認方法

あれから少し名前が変わっている部分もありますが.,..

作成したlambdaのログを確認する場合は、lambdaの画面から、モニタリングタブを選択します。

すると、CloudWatchのログを表示...という項目があるので、選択します。

すると、lambdaのログが書き出されているのを確認することが可能です。

ログは、ログストリームと呼ばれる単位で書き出されます。

(筆者もあまり詳しくないのですが、ある一定時間の間に実行されたlambdaのログが一つのログストリームにまとまっている...といった印象です。

lambdaのテストで実行をすると、ログストリームがふえるとおもうので、実行時間に近いログストリームを確認すると...?

上記のような形でログが出ています...!

lambdaのテスト画面はあくまでテストの結果確認で、普通lambdaのログを確認する場合はこちらのようなCloudWatchを用いるのが一般的かなと思います...!

インサイトからログストリームごとでなく、全ログの中からfilterをかけて検索...といったことも可能です。

ここでは割愛しますが、いつかフィルターでの検索も記事にできればなと思います...!

では、ログの確認もできたので、最後にslackへ通知を送ります...!

デプロイ時にSlackへ通知を送る

さて、では最後のslack通知をやってみます!

slack通知はgithub actionsで行うんですが、最低限の設定だけであれば簡単にできます...!

deploy.ymlのstepsに以下を追加するだけなんです...!

      - name: Success Notification
        uses: rtCamp/action-slack-notify@v2.0.0
        env:
          SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}
          SLACK_TITLE: "lambdaのデプロイが完了しました。"
      - name: Failure Notification
        if: failure()
        uses: rtCamp/action-slack-notify@v2.0.0
        env:
          SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}
          SLACK_TITLE: "lambdaのデプロイに失敗しました。"

行なっていることは、まず最初にそこまでのstepの処理が成功した場合成功の通知をslackのWEBHOOKURLに対して行っています。

成功した場合は通知が行われ、しっぱした場合は後半のしっぱした旨のメッセージが出るようになっています。

項目もわかりやすく、細かい説明がなくとも理解しやすいですね...!

上記の実行をする前に、githubのsecretにSLACK_WEBHOOK_URLという名前でwebhookURLを追加する必要があります。

envの項目に通知時のアイコン等も指定できるようですが、今回はわかりやすいように最低限の要素だけで実装してみます。

上記をdeploy.ymlに記載した上で、githubのmainブランチにpushしてみると...?

このような形でデプロイの完了通知が飛びました...!

slack通知は正直必須ではないんですが、デプロイの結果をしっかりと知るためにマージ後にactionsのページを眺めるのも微妙なので、しっかり管理するためにもやっておくと良さそうですね。

まとめ

最後まで閲覧いただきありがとうございました...!

今回はlambdaのgoランタイムでのデプロイ環境を作ってみました!

今回はほんとに最低限の形...になっているので、main.goという一つのファイルをデプロイすることしかできないんですが、別ファイルに分けた内容もまとめてデプロイすることももちろん可能です。

いつか補足記事等かければいいなぁ...とは思っています...!

おすすめの記事