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
Protocol Buffersの型を超えて拡張性を得る / Beyond Protocol Buffers Types Achieving Extensibility
linyows
0
120
研究開発と実装OSSと プロダクトの好循環 / A virtuous cycle of research and development implementation OSS and products
linyows
1
570
コードジェネレーターで 効率的な開発をする / Efficient development with code generators
linyows
0
350
研究を支える拡張性の高い ワークフローツールの提案 / Proposal of highly expandable workflow tools to support research
linyows
0
480
非コンテナ環境において宣言的Deploymentを手軽に実現する / Declarative deployment in non-container environments
linyows
0
280
メール送信サーバの集約における透過型SMTP プロキシの定量評価 / Quantitative Evaluation of Transparent SMTP Proxy in Email Sending Server Aggregation
linyows
0
1k
透過型SMTPプロキシによる送信メールの可観測性向上: Update Edition / Improved observability of outgoing emails with transparent smtp proxy: Update edition
linyows
2
520
研究の再現性を高める 仕組みをGoでつくる / Creating a system to improve the reproducibility of research using go
linyows
1
270
奥が深いメールのシステム / The depth of Email system
linyows
4
640
Other Decks in Technology
See All in Technology
【Oracle Cloud ウェビナー】クラウド導入に「専用クラウド」という選択肢、Oracle AlloyとOCI Dedicated Region とは
oracle4engineer
PRO
3
120
20250929_QaaS_vol20
mura_shin
0
130
BtoBプロダクト開発の深層
16bitidol
0
380
SoccerNet GSRの紹介と技術応用:選手視点映像を提供するサッカー作戦盤ツール
mixi_engineers
PRO
1
190
多様な事業ドメインのクリエイターへ 価値を届けるための営みについて
massyuu
1
390
Azure SynapseからAzure Databricksへ 移行してわかった新時代のコスト問題!?
databricksjapan
0
150
Escaping_the_Kraken_-_October_2025.pdf
mdalmijn
0
150
From Prompt to Product @ How to Web 2025, Bucharest, Romania
janwerner
0
120
OpenAI gpt-oss ファインチューニング入門
kmotohas
2
1k
神回のメカニズムと再現方法/Mechanisms and Playbook for Kamikai scrumat2025
moriyuya
4
590
綺麗なデータマートをつくろう_データ整備を前向きに考える会 / Let's create clean data mart
brainpadpr
2
260
AI ReadyなData PlatformとしてのAutonomous Databaseアップデート
oracle4engineer
PRO
0
210
Featured
See All Featured
How STYLIGHT went responsive
nonsquared
100
5.8k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Reflections from 52 weeks, 52 projects
jeffersonlam
352
21k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.5k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.2k
Learning to Love Humans: Emotional Interface Design
aarron
274
40k
Speed Design
sergeychernyshev
32
1.1k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.6k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.2k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
114
20k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.7k
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