$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Deploy from slack
Search
Hiroto Fukui
September 21, 2019
Programming
0
64
Deploy from slack
Practical guide to install a way to deploy static web site using Slash command.
Hiroto Fukui
September 21, 2019
Tweet
Share
More Decks by Hiroto Fukui
See All by Hiroto Fukui
メールアドレスを深堀りする
bary822
2
1.2k
kiba ETLで小さく始めるデータ分析基盤構築
bary822
3
270
AR_migrationの例外.pdf
bary822
0
60
GraphQLを_Rubyで気軽に試す.pdf
bary822
0
330
Other Decks in Programming
See All in Programming
AtCoder Conference 2025「LLM時代のAHC」
imjk
2
590
著者と進める!『AIと個人開発したくなったらまずCursorで要件定義だ!』
yasunacoffee
0
160
Python札幌 LT資料
t3tra
7
1.1k
TestingOsaka6_Ozono
o3
0
180
GoLab2025 Recap
kuro_kurorrr
0
780
JETLS.jl ─ A New Language Server for Julia
abap34
2
460
ゆくKotlin くるRust
exoego
1
160
20251212 AI 時代的 Legacy Code 營救術 2025 WebConf
mouson
0
220
モデル駆動設計をやってみようワークショップ開催報告(Modeling Forum2025) / model driven design workshop report
haru860
0
280
LLM Çağında Backend Olmak: 10 Milyon Prompt'u Milisaniyede Sorgulamak
selcukusta
0
140
愛される翻訳の秘訣
kishikawakatsumi
3
350
Flutter On-device AI로 완성하는 오프라인 앱, 박제창 @DevFest INCHEON 2025
itsmedreamwalker
1
150
Featured
See All Featured
How GitHub (no longer) Works
holman
316
140k
Accessibility Awareness
sabderemane
0
24
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
170
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
270
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
28
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
1
210
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
340
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
0
1k
The SEO Collaboration Effect
kristinabergwall1
0
310
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
0
250
Making Projects Easy
brettharned
120
6.5k
Java REST API Framework Comparison - PWX 2021
mraible
34
9k
Transcript
Slackからデプロイ Hiroto Fukui @bary822
self self.name => Hiroto Fukui self.sns => @bary822 self.titles =>
[‘app engineer’, ‘data engineer’] self.companies => [‘rakuten’, ‘grooves’] self.likes => [‘dog’, ‘camping’,’SUP‘, ruby’]
Osaka Tokyo
None
Slackからデプロイしたい
?
前提 - サービスの静的サイト - Ruby製 - https://www.crowd-agent.com/agent/ - コードはGitHub -
S3でホスティング - bundle exec middleman s3_sync -e=production でデプロイ
? S3
1. /deploy production する 2. 任意のURLにPOSTリクエストを発行 3. レスポンスに応じてメッセージを表示
? S3
AWS Lambda FaaS(Function as a Service) 1. Lambda関数がリクエストを受け付ける 2. GitHubからコードをダウンロード
3. コマンド実行 4. S3 APIを呼び出してsync(デプロイ)
? S3
API Gateway Lambda S3
API Gateway Lambda S3
None
API Gateway Lambda CircleCI S3
API Gateway Lambda CircleCI S3
3秒ルール - Slashコマンドは3秒以内に何らかのメッセージを返す必要がある - それを超えるとエラーメッセージが表示される リクエストを受け取ると とりあえず何かを返すのが吉
API Gateway Lambda 1st CircleCI Lambda 2nd S3
リクエストがLambdaに届いた時にとりあえず返す CircleCI APIから200が返ってきた時に返す
よくあるかもしれない質問
Slashコマンドが呼ぶAPIの認証方法 - Slashコマンド毎にユニークなトークンがヘッダーに入ってPOSTされる - API Gatewayでそれを検証
Lambdaの無料枠内で収まるのでは - 多分収まる - デプロイするのは開発者ではない - マーケティングの人 - デプロイ回数をコントロールできない前提があった
CIに入れるとpushする度にデプロイされるのでは - DEPLOY という環境変数を見るようにした - Lambdaから呼び出す時のみ DEPLOY=true を設定 - CircleCI
APIではジョブ実行時の環境変数をパラメーターに指定できる