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
The deployment for Go
Search
linyows
October 04, 2018
Technology
0
1.9k
The deployment for Go
Fukuoka.go#12 October 4, 2018 でお話しした 資料です
linyows
October 04, 2018
Tweet
Share
More Decks by linyows
See All by linyows
研究開発と実装OSSと プロダクトの好循環 / A virtuous cycle of research and development implementation OSS and products
linyows
1
370
コードジェネレーターで 効率的な開発をする / Efficient development with code generators
linyows
0
320
研究を支える拡張性の高い ワークフローツールの提案 / Proposal of highly expandable workflow tools to support research
linyows
0
450
非コンテナ環境において宣言的Deploymentを手軽に実現する / Declarative deployment in non-container environments
linyows
0
230
メール送信サーバの集約における透過型SMTP プロキシの定量評価 / Quantitative Evaluation of Transparent SMTP Proxy in Email Sending Server Aggregation
linyows
0
980
透過型SMTPプロキシによる送信メールの可観測性向上: Update Edition / Improved observability of outgoing emails with transparent smtp proxy: Update edition
linyows
2
480
研究の再現性を高める 仕組みをGoでつくる / Creating a system to improve the reproducibility of research using go
linyows
1
250
奥が深いメールのシステム / The depth of Email system
linyows
4
610
IaCにおけるテスト考察 / Tests in IaC
linyows
2
740
Other Decks in Technology
See All in Technology
AIエージェントを現場で使う / 2025.08.07 著者陣に聞く!現場で活用するためのAIエージェント実践入門(Findyランチセッション)
smiyawaki0820
6
930
Claude Codeが働くAI中心の業務システム構築の挑戦―AIエージェント中心の働き方を目指して
os1ma
9
2.5k
Foundation Model × VisionKit で実現するローカル OCR
sansantech
PRO
1
340
アカデミーキャンプ 2025 SuuuuuuMMeR「燃えろ!!ロボコン」 / Academy Camp 2025 SuuuuuuMMeR "Burn the Spirit, Robocon!!" DAY 1
ks91
PRO
0
130
開発 × 生成AI × コミュニケーション:GENDAの開発現場で感じたコミュニケーションの変化 / GENDA Tech Talk #1
genda
0
130
いかにして命令の入れ替わりについて心配するのをやめ、メモリモデルを愛するようになったか(改)
nullpo_head
7
2.5k
生成AI導入の効果を最大化する データ活用戦略
ham0215
0
130
Findy Freelance 利用シーン別AI活用例
ness
0
420
反脆弱性(アンチフラジャイル)とデータ基盤構築
cuebic9bic
3
170
Tableau API連携の罠!?脱スプシを夢見たはずが、逆に依存を深めた話
cuebic9bic
3
220
Segment Anything Modelの最新動向:SAM2とその発展系
tenten0727
0
670
【CEDEC2025】『Shadowverse: Worlds Beyond』二度目のDCG開発でゲームをリデザインする~遊びやすさと競技性の両立~
cygames
PRO
1
340
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
235
140k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
1k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.8k
RailsConf 2023
tenderlove
30
1.2k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
YesSQL, Process and Tooling at Scale
rocio
173
14k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
332
22k
GitHub's CSS Performance
jonrohan
1031
460k
Transcript
5PNPIJTB0EB (.01FQBCP *OD 0DUPCFS 'VLVPLBHP ͜Ε͕(PΞϓϦͷσϓϩΠͩ
'VLVPLBHP (.0ϖύϘ ϓϦϯγύϧΤϯδχΞ !MJOZPXT CMPHUPNPIJTBPEBDPN
'VLVPLBHP দຊ྄հʹΑΔจʢ%*$0.0༧ߘʣਫ਼៛ʹ੍ޚՄೳͳ߃ৗੑͷ͋ΔߴूੵϚϧνΞΧϯτܕͷϝʔϧج൫ IUUQTSBOEQFQBCPDPNQBQFSTEJDPNPQSPDFFEJOHNBUTVNPUPSZQEG ࠷ۙͷ͓ࣄ ओʹ'BTU$POUBJOFSʹΑΔϝʔϧج൫ݚڀ։ൃɺ࠷࣮ۙྫΛ(JU)VCͰެ։ IUUQTHJUIVCDPN'BTU$POUBJOFS
'VLVPLBHP 8&# %#13&44WPM )BTIJ$PSQ7BVMUͷهࣄدߘ Ԭͷ(PMBOHίϛϡχςΟ 'VLVPLBHPͷओ࠵ͷਓ MJOVYϢʔβͷ໊લղܾΛ (JU)VC͔ΒϚοϐϯά͢Δ ιϑτΣΞͷ։ൃ
'VLVPLBHP "SFZPVEFQMPZJOH
'VLVPLBHP ๏ ϫϯόΠφϦͷσϓϩΠΛղܾ͢Δ w IUUQTTQFBLFSEFDLDPNMJOZPXTTDBMBCMFEFQMPZNFOUUPPMUPEFQMPZPOZPVSPXO w !'VLVPLBHP w $BQJTUSBOPΛ(PΞϓϦͰ͏ͷΦʔόʔΩϧײ͕͋ͬͯͲ͏ʹ͔͢Δͱ͍͏༰ ๏
εέʔϥϒϧͰσϓϩΠΛҙࣝ͠ͳཱ͍ࣗܕσϓϩΠ w IUUQTTQFBLFSEFDLDPNMJOZPXTSFTPMWFXFCBQQMJDBUJPOEFQMPZNFOUQSPCMFNTGPSHP w !1)1$POGFSFODF'VLVPLBલࡇ3FKFDUDPO w ͜Ε·ͰͷσϓϩΠख๏Λ౿·͑ͭͭ৽͍͠σϓϩΠख๏ͷఏҊ ࠓʹೖͬͯ৽͍͠σϓϩΠख๏ʹ͍ͭͯఔൃද
'VLVPLBHP ͳͥɺ͍·Ͳ͖#MVF(SFFO͡Όͳ͍ͷ͔ʁ
'VLVPLBHP ๏ Πϯελϯε·ͨΠϝʔδΛߏ͢ΔΞϓϦͱͦͷ΄͔Λ͚ͯσϓϩΠ͢Δ ๏ Πϯελϯε·ͨΠϝʔδΛσϓϩΠͷͨΊʹมߋ͢ΔͷͰ*NNVUBCMF *OGSBTUSVDUVSFͰͳ͍ ๏ ͨͱ͑ɺ#MVF(SFFOσϓϩΠͰΓସ͑લʹ͋Β͔͡ΊΞϓϦΛߋ৽͢Δ ߹ͳͲ ๏
ͪΖΜɺ*O1MBDFͷ߹ લఏΞϓϦͱͦͷ΄͔ΛผʹσϓϩΠ͢Δ
'VLVPLBHP "QQMJDBUJPO 04 .JEEMFXBSFʜ *OTUBODF
'VLVPLBHP ๏ फڭ্ͷཧ༝ͰΫϥυ·ͨίϯςφڥΛ༻ҙͰ͖ͳ͍ ๏ ༧ࢉ͕গͳ͍ͷͰൺֱతίετΛඞཁͱ͢Δ#MVF(SFFOσϓϩΠ͕Ͱ͖ͳ͍ ๏ ϦϞʔτ͔ΒͷσϓϩΠݤͷཧ͕ඞཁʹͳΔͷͰΓͨ͘ͳ͍ Α͏͢Δʹɺ͜͏͍͏ࣄ
'VLVPLBHP 1 #!/bin/bash 2 set -xe 3 4 readonly REMOTE_USER="linyows"
5 6 function deploy () { 7 local sshc="ssh $1 -l $REMOTE_USER" 8 scp ./api.zip $REMOTE_USER@$1:/home/$REMOTE_USER 9 10 $sshc "unzip /home/$REMOTE_USER/api.zip" 11 $sshc 'sudo mv api /usr/local/bin' 12 $sshc 'sudo chown api /usr/local/bin/api' 13 $sshc 'sudo service api restart' 14 } 15 16 deploy 'api-1.example.test' 17 deploy 'api-2.example.test' 18 deploy 'api-3.example.test' ݱͷ༷ࢠͰ͢
'VLVPLBHP IUUQTHJUIVCDPNMJOZPXTEFXZ
'VLVPLBHP .VUBCMFڥͰΞϓϦ͕ೳಈతʹσϓϩΠ͢Δ
'VLVPLBHP 8PSL'MPX 4UBSUTFSWFS 1VTIUPSFQP %FWFMPQ #VJME5FTU .BTUFSNFSHF 3FMFBTF 1VMMSFMFBTF 3FTUBSUTFSWFS
"ENJO %FW %FW $* 0XOFS %FXZ %FXZ $*
'VLVPLBHP %FQMPZJOH%FNP
'VLVPLBHP %FQMPZJOH%FNP server: 1 $ export GITHUB_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxxx 2 $ dewy
server \ 3 --repository linyows/dewy-testapp \ 4 --artifact dewy-testapp_darwin_amd64.tar.gz \ 5 --port 8000 \ 6 --log-level info -- \ 7 /var/www/my-app/current/my-app client: 1 $ while sleep 0.5; do curl localhost:8000; done dev: 1 $ export GITHUB_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 2 $ goreleaser --rm-dist
'VLVPLBHP ๏ )PPLܥͷՃλεΫ SFRVJSFE ๏ 1MVHJOػߏ ๏ ϩʔϧόοΫ SFRVJSFE ๏
ΧφϦʔσϓϩΠ ๏ ࢄ,74ͷରԠʢ&UDENC $POTVM,7LC ࠓޙͷ՝
'VLVPLBHP ๏ γεςϜن͕খ͍͞ͱίϯςφڥͰͳ͍͜ͱɺ#MVF(SFFO͕Ͱ͖ͳ ͍ࣄΑ͋͘Δ ๏ ͦͷΑ͏ͳڥͷͱɺ(PΒ͘͠ϫϯόΠφϦΛ(JUIVCSFMFBTFTʹ1045 ͢Δ͚ͩͰউखʹσϓϩΠ͞ΕΔ ๏ ͪΐͬͱͨ͠ΞϓϦέʔγϣϯͷσϓϩΠʹͪΐ͏Ͳ͍͍σϓϩΠπʔ ϧΛ࡞Γ·ͨ͠
$PODMVTJPO
'VLVPLBHP 5IBOLZPV 8FSFIJSJOH