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
100
研究開発と実装OSSと プロダクトの好循環 / A virtuous cycle of research and development implementation OSS and products
linyows
1
520
コードジェネレーターで 効率的な開発をする / Efficient development with code generators
linyows
0
340
研究を支える拡張性の高い ワークフローツールの提案 / Proposal of highly expandable workflow tools to support research
linyows
0
460
非コンテナ環境において宣言的Deploymentを手軽に実現する / Declarative deployment in non-container environments
linyows
0
260
メール送信サーバの集約における透過型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
500
研究の再現性を高める 仕組みをGoでつくる / Creating a system to improve the reproducibility of research using go
linyows
1
260
奥が深いメールのシステム / The depth of Email system
linyows
4
630
Other Decks in Technology
See All in Technology
生成AI時代に必要な価値ある意思決定を育てる「開発プロセス定義」を用いた中期戦略
kakehashi
PRO
1
240
「守る」から「進化させる」セキュリティへ ~AWS re:Inforce 2025参加報告~ / AWS re:Inforce 2025 Participation Report
yuj1osm
1
180
役割は変わっても、変わらないもの 〜スクラムマスターからEMへの転身で学んだ信頼構築の本質〜 / How to build trust
shinop
0
150
「魔法少女まどか☆マギカ Magia Exedra」での負荷試験の実践と学び
gree_tech
PRO
0
420
DuckDB-Wasmを使って ブラウザ上でRDBMSを動かす
hacusk
1
140
生成AI時代のデータ基盤
shibuiwilliam
1
1.4k
ソフトウェア エンジニアとしての 姿勢と心構え
recruitengineers
PRO
25
12k
実践アプリケーション設計 ①データモデルとドメインモデル
recruitengineers
PRO
5
1.4k
AI エージェントとはそもそも何か? - 技術背景から Amazon Bedrock AgentCore での実装まで- / AI Agent Unicorn Day 2025
hariby
1
290
Microsoft Fabric のネットワーク保護のアップデートについて
ryomaru0825
1
120
実践AIガバナンス
asei
3
270
mruby(PicoRuby)で ファミコン音楽を奏でる
kishima
2
490
Featured
See All Featured
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Faster Mobile Websites
deanohume
309
31k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.1k
Docker and Python
trallard
45
3.5k
How GitHub (no longer) Works
holman
315
140k
Practical Orchestrator
shlominoach
190
11k
The Cost Of JavaScript in 2023
addyosmani
53
8.9k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
61k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
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