Skip to content

applibot-inc/lambda_chatbot

Repository files navigation

Github Actions を Slack workflow から実行します

使い方

1. Github Tokenの準備

  • 対象リポジトリの作成後、Github Tokenの発行が必要になります
  • パラメータストア /github/token/siteに登録します

2. AWS Chatbotの準備

  • 初回のみコンソール上でslackワークスペースとの連携設定が必要になります
  • 連携後、ワークススペースID slack_workspace_idになります

3. Slackチャンネル作成準備(プライベート推奨)

  • 対象チャンネルを右クリックしコピーします
  • https://<slack workspace名>.slack.com/archives/xxxxxxx
  • xxxxxxの値をslack_channel_idになります

4. terraformでまとめて作成

  • locals.tf内の環境変数を書き換え

    • /github/token/site
    • slack_workspace_id
    • slack_channel_id
  • Goビルド、lambda、chatbotの作成をします

go mod tidy
terraform init
terraform plan
terraform apply

5. Github Actionsを用意

6. Slack通知

  • Slackの該当チャンネルで設定してください。
  • 通知対象:mainブランチかつ、workflow_dispatchトリガーのみ通知。
/invite @GitHub
/github subscribe applibot-inc/lambda_chatbot workflows:{event:"repository_dispatch","workflow_dispatch" branch:"main"}
/github unsubscribe applibot-inc/lambda_chatbot  pulls commits releases deployments issues

7. Slackワークフロー設定

  • 対象チャンネルにて、@awsで招待します。
  • インテグレーション -> ワークフローより以下設定を行います
  • ワークフローのタイトル: web siteデプロイ
  • メッセージ: webサイトのデプロイを開始します
  • 実行するコマンド: awsコマンド入れます
aws lambda invoke <lambda function> --region <region>
  • 下記のような設定画面のようになります

SCR-20230502-nedr

8. ワークフロー実行結果

  • slackチャンネル内のの上段にあるワークフローより「webサイトデプロイ」をクリック
  • awsコマンド実行後にスレッド内で[Run command]ボタンをクリックすることで実行されます
  • Github Actionsの成功/失敗を確認できます

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published