Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
脱FTP!一瞬でS3にファイル転送
Search
mi
September 30, 2016
Technology
0
720
脱FTP!一瞬でS3にファイル転送
AWSのS3ストレージにFTPを使用せず、コマンドだけでアップする方法をご紹介します。
mi
September 30, 2016
Tweet
Share
More Decks by mi
See All by mi
Switchbot で人生をチョット豊かに。
mi
0
100
自己紹介
mi
0
360
computed のすゝめ
mi
2
610
あの素晴らしい猫の本
mi
0
1.1k
作業効率がアップする アプリ紹介
mi
0
110
git
mi
0
71
Other Decks in Technology
See All in Technology
B2B SaaSから見た最近のC#/.NETの進化
sansantech
PRO
0
750
障害対応指揮の意思決定と情報共有における価値観 / Waroom Meetup #2
arthur1
5
470
Can We Measure Developer Productivity?
ewolff
1
150
Adopting Jetpack Compose in Your Existing Project - GDG DevFest Bangkok 2024
akexorcist
0
110
Lexical Analysis
shigashiyama
1
150
【Pycon mini 東海 2024】Google Colaboratoryで試すVLM
kazuhitotakahashi
2
500
ノーコードデータ分析ツールで体験する時系列データ分析超入門
negi111111
0
410
SSMRunbook作成の勘所_20241120
koichiotomo
2
130
オープンソースAIとは何か? --「オープンソースAIの定義 v1.0」詳細解説
shujisado
7
790
データプロダクトの定義からはじめる、データコントラクト駆動なデータ基盤
chanyou0311
2
300
開発生産性を上げながらビジネスも30倍成長させてきたチームの姿
kamina_zzz
2
1.7k
透過型SMTPプロキシによる送信メールの可観測性向上: Update Edition / Improved observability of outgoing emails with transparent smtp proxy: Update edition
linyows
2
210
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
Gamification - CAS2011
davidbonilla
80
5k
Agile that works and the tools we love
rasmusluckow
327
21k
The World Runs on Bad Software
bkeepers
PRO
65
11k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
The Cost Of JavaScript in 2023
addyosmani
45
6.7k
Raft: Consensus for Rubyists
vanstee
136
6.6k
Thoughts on Productivity
jonyablonski
67
4.3k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
329
21k
Making Projects Easy
brettharned
115
5.9k
Transcript
̛̩̥ʂ ҰॠͰS3ʹϑΝΠϧసૹ 2016/09/07 (ɾωɾ) @mi
ࣗݾհ ૿ຊɹඒཬ (@_upto_me_) ग़ɿ࡚ݝେଜࢢ ࣄɿՈ۩ (LOWYA / vega.inc) ڵຯ͋Δ͜ͱɿJavaScript, ຑ,
ΘΜ͜
ࠓ͢͜ͱ ϑϩϯτΤϯυͷλεΫϥϯφʔgulpͷ ʮgulp-s3ʯΛ༻͍ͯɺAWSͷS3ʹ 1ίϚϯυͰɺϑΝΠϧΛసૹ͢Δํ๏ɻ 㲈 s3ڥʹҰॠͰσϓϩΠɻ
λεΫϥϯφʔͱʁ
λεΫϥϯφʔ ϑϩϯτΤϯυͷ։ൃʹɺίϯύΠϧ࡞ۀɺϑΝΠϧͷѹ ॖ࡞ۀͳͲɺଟ͘ͷλεΫ͕͋Γ·͢ɻ͜ΕΒΛҰׅͰཧɾ ࣗಈԽͯ͘͠ΕΔͷ͕ʮλεΫϥϯφʔʯͰ͢ɻ - CSSJavaScriptͷѹॖɺ݁߹ - SassͷίϯύΠϧ
None
None
ͦΕ͔ΒͲ͏ͳͬͨʁ
2016/03 Ҏ߱
webpack શউརʂʁ ※ 2016/09/07࣌
ࠓճ…
gulp ( Ψϧϓ ) λεΫϥϯφʔ - Node.js্ʹߏங͞ΕͨϏϧυπʔϧ - ϏϧυखॱΛλεΫͱ͍͏ܗͰࣗΒఆٛ -
ઃఆϑΝΠϧͷΑ͏ͳͷΛ͘γϯϓϧʹॻ͚Δ (※) (※ ൺֱରɿGrunt)
gulp ( Ψϧϓ ) λεΫϥϯφʔ - Node.js্ʹߏங͞ΕͨϏϧυπʔϧ - ϏϧυखॱΛλεΫͱ͍͏ܗͰࣗΒఆٛ -
ઃఆϑΝΠϧͷΑ͏ͳͷΛ͘γϯϓϧʹॻ͚Δ (※) (※ ൺֱରɿGrunt)
None
Node.js ( ϊʔυδΣʔΤε ) JavaScript࣮ߦڥ - αʔόʔαΠυͰJavaScriptΛ࣮ߦͰ͖ΔΑ͏ʹͯ͘͠ΕΔͷ ≒ Server Side
JavaScriptɺNodeڥ - େྔͷσʔλΛߴʹαό͘ɻͭΑ͍ʢ֬৴ʣ
࣮ࡍʹs3̏ඵͰ Ξοϓ͠·͢
Ͳʔͬͯ͢Δͷʁ
ҙࣄ߲ ͜ͷαϯϓϧͰϓϩδΣΫτϑΥϧμʹ ʮviewsʯͱ͍͏ެ։༻ϑΥϧμ͕ଘࡏ͠·͢ɻ ͍·͔Βߦ͏࡞ۀɺʮviewsʯϑΥϧμͷதΛ·Δͬͱ s3ʹసૹ͢Δํ๏Λ͝આ໌͠·͢ɻ ಉ͡Α͏ʹ࡞ۀ͍ͨ͠ํɺϓϩδΣΫτϑΥϧμʹ ৽͘͠ެ։༻ϑΥϧμʮviewsʯΛ࡞ͯ͠ɺ ͦ͜ʹhtmlϑΝΠϧΛͭͬ͜ΜͰ͓͍͍ͯͩ͘͞ɻ
खॱ 1. Node.jsΛΠϯετʔϧ 2. GulpΛΠϯετʔϧ 3. ύοέʔδͷΠϯετʔϧ 4. Gulpfile.jsͱaws.json(ઃఆϑΝΠϧΈ͍ͨͳͷ) ࡞
5. ίϚϯυ͏ͭʂ → S3ʹసૹྃ 1ɺ2ɺ3ɺ4࠷ॳͷΈඞཁɻS3ʹϑΝΠϧΛ͋͛Δૢ࡞5
Node.jsΛΠϯετʔϧ
https://nodejs.org/en/download/
Node.jsͷΠϯετʔϧ֬ೝ Πϯετʔϧ͕ऴΘͬͨΒλʔϛφϧίϚϯυϓϩϯϓτͰ ʰ node -v ʱͱଧͬͯΈ͍ͯͩ͘͞ɻόʔδϣϯใ͕֬ೝͰ͖ΕOKʂ
GulpͷΠϯετʔϧ ※ άϩʔόϧΠϯετʔϧͦͷϚγϯ্ͷͲ͔͜ΒͰ ར༻Ͱ͖ΔΑ͏Πϯετʔϧ͢Δ͜ͱɻ ※ ϩʔΧϧΠϯετʔϧͦͷϓϩδΣΫτͷ ϑΥϧμͰͷΈར༻Ͱ͖ΔΑ͏Πϯετʔϧ͢Δ͜ͱɻ
GulpͷάϩʔόϧΠϯετʔϧ λʔϛφϧίϚϯυϓϩϯϓτͰԼهίϚϯυ࣮ߦ npm install -g gulp
GulpͷΠϯετʔϧ֬ೝ λʔϛφϧίϚϯυϓϩϯϓτͰԼهίϚϯυ࣮ߦ gulp -v CLI όʔδϣϯ͕දࣔ͞ΕΕOK
ϓϩδΣΫτϑΥϧμʹ ύοέʔδΛΠϯετʔϧ͢Δ λʔϛφϧίϚϯυϓϩϯϓτͰԼهίϚϯυ࣮ߦ cd ϓϩδΣΫτϑΥϧμͷύε npm init nam install —save-dev
gulp gulp-s3 ➔ ͍Ζ͍ΖӳޠͰ࣭͞Ε·͕͢ɺશͯΤϯλʔͰOK
ϓϩδΣΫτϑΥϧμΛ֬ೝ͢Δͱɺ - node_modules [ϑΥϧμ] - package.json [ϑΝΠϧ] ্هͷ2͕ͭग़དྷ͍ͯΔͱࢥ͍·͢ɻ ಉ֊ʹҎԼ2ͭϑΝΠϧΛ࡞͍ͯͩ͘͠͞ɻ
- gulpfile.js - aws.json ඞཁϑΝΠϧͷՃ
aws.json keyɿΞΫηεΩʔ ID secretɿγʔΫϨοτΞΫηεΩʔ bucketɿαΠτͷURI regionɿap-northeast-1
aws.json *".Ϣʔβʔʢ͕ࣗ࡞ͨ͠ΞΧϯτ໊ʣ
gulpfile.js
ίϚϯυଧͬͯΈΑ͏ʙʂ”
λʔϛφϧίϚϯυϓϩϯϓτͰԼهίϚϯυ࣮ߦ gulp deploy
None
None
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠