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
Goビルドを理解し、 CI/CDの高速化に挑む
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
sato-shin
March 27, 2026
Technology
380
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Goビルドを理解し、 CI/CDの高速化に挑む
sato-shin
March 27, 2026
More Decks by sato-shin
See All by sato-shin
DateComponentsと仲良くなる
satoshin
3
3.7k
Bitriseのビルド回数が 10倍以上になって変わったコト
satoshin
1
470
Pull Request Trigger について ~Expose for Pull Request?~
satoshin
1
150
User Notification for UX!
satoshin
0
190
Using various views on Notification Content app extension
satoshin
2
1.2k
Getting step count on iOS
satoshin
4
3.3k
Other Decks in Technology
See All in Technology
失敗を経て、Harness Engineering で 大切にしたいことを考える / Learning from Failure: What Matters in Harness Engineering
bitkey
PRO
1
370
エラーバジェットのアラートのタイミングを考える.pdf
kairim0
0
150
気づかぬうちにセキュリティ負債を生むAPIキー運用
sgwrmctk
0
130
日本 Fintech 未来予測レポート 2027〜2028年(手動編集版)
8maki
0
2.3k
SONiCの統計情報を取得したい
sonic
0
170
小さくはじめるSLI/SLO ~育てながら組織に定着させる実践知~ / Starting Small with SLI/SLOs: Building Adoption Through Continuous Growth
nari_ex
7
1.9k
就職⽀援サービスにおけるキャリアアドバイザーのシフトスケジューリング
recruitengineers
PRO
1
140
Claude Code の Sandbox 機能を Anthropic Sandbox Runtime(srt) で試そう!/lets-play-anthropic-sandbox-runtime
tomoki10
1
600
【2026年版】 ベクトル検索䛸 Embedding最前線
mocobeta
0
130
FDE という解 ― 暗黙知と明示知をつなぐ、伴走型エンジニアリング ―
otanet
0
160
Kubernetesにおける学習基盤とLLMOpsの概要
ry
1
310
なぜ Platform Engineering の土台に Kubernetes を選ぶのか
r4ynode
2
640
Featured
See All Featured
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
What does AI have to do with Human Rights?
axbom
PRO
1
2.2k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
160
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
470
Become a Pro
speakerdeck
PRO
31
6k
KATA
mclloyd
PRO
35
15k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
270
Building an army of robots
kneath
306
46k
How Software Deployment tools have changed in the past 20 years
geshan
0
34k
Transcript
TBUPTIJO (PϏϧυΛཧղ͠ɺ $*$%ͷߴԽʹΉ NJJWFͰˠΛ࣮ݱͨ͠վળࣄྫ
NJJWFͷ$*$%ͷྲྀΕ
NJJWFͷ$*$%ͷྲྀΕʢվળલʣ 6OJU5FTU %FQMPZ UP"84&$4 &&5FTU -JOU
#VJME ߹ܭ
NJJWFͷ$*$%ͷྲྀΕʢվળલʣ 6OJU5FTU %FQMPZ UP"84&$4 &&5FTU -JOU
#VJME ߹ܭ
NJJWFͷ$*$%ͷྲྀΕʢվળલʣ 6OJU5FTU ඵ %FQMPZ UP"84&$4 &&5FTU -JOU
#VJME ඵ ߹ܭ
NJJWFͷ$*$%ͷྲྀΕʢվળલʣ 6OJU5FTU ඵ %FQMPZ UP"84&$4 &&5FTU -JOU
#VJME ඵ ͜͜ʹࢸΔ·Ͱ
·ͣ(PͷϏϧυΛͪΌΜͱΖ͏ʂ $ go build
(PͷϏϧυͷಛ w Ϗϧυޙͷ୯ҰόΠφϦͰಈ͖ɺ࣮ߦڥʹ(PͷΠϯετʔϧෆཁ w ΫϩείϯύΠϧʹΑΓɺ$*$%ͷઃఆָ͕ w ϏϧυΩϟογϡͷػߏ͕Έࠐ·Ε͍ͯΔ
(PͷϏϧυͷಛ w Ϗϧυޙͷ୯ҰόΠφϦͰಈ͖ɺ࣮ߦڥʹ(PͷΠϯετʔϧෆཁ w ΫϩείϯύΠϧʹΑΓɺ$*$%ͷઃఆָ͕ w ϏϧυΩϟογϡͷػߏ͕Έࠐ·Ε͍ͯΔ
࣮ߦڥʹ(Pෆཁ 04 +BWB7JSUVBM.BDIJOF KBSϑΝΠϧ 04 (Pͷ୯ҰόΠφϦ ࣮ߦϑΝΠϧ
࣮ߦڥʹ(Pෆཁ w ґଘ͢Δͷ͕গͳ͍ͷͰ w ཧָ͕ w ηΩϡΞ w αʔόʔͷ্ཱ͕ͪΓ͕ૣ͍ w
࣮ߦɾϝϞϦফඅྔͰ༗ར 04 (Pͷ୯ҰόΠφϦ ࣮ߦϑΝΠϧ
(PͷϏϧυͷಛ w Ϗϧυޙͷ୯ҰόΠφϦͰಈ͖ɺ࣮ߦڥʹ(PͷΠϯετʔϧෆཁ w ΫϩείϯύΠϧʹΑΓɺ$*$%ͷઃఆָ͕ w ϏϧυΩϟογϡͷػߏ͕Έࠐ·Ε͍ͯΔ
ΫϩείϯύΠϧ͕Մೳ $*ڥ6CVOUV $ GOOS=windows \ GOARCH=amd64 \ go build -o
app ࣮ߦڥ8JOEPXTTFSWFSBNE BQQFYF BQQFYF $PQZ
(PͷϏϧυͷಛ w ΫϩείϯύΠϧʹΑΓɺ$*$%ͷઃఆָ͕ w Ϗϧυޙͷ୯ҰόΠφϦͰಈ͖ɺ࣮ߦڥʹ(PͷΠϯετʔϧෆཁ w ϏϧυΩϟογϡͷػߏ͕Έࠐ·Ε͍ͯΔ $ go build
(PͷϏϧυϑϩʔͷ֓ཁ ґଘؔͷղܾ ίϯύΠϧ $ go tool compile ύοέʔδຖʹPCKੜ ϦϯΫ $
go tool link 0CKΛ౷߹͠ɺ ࣮ߦϑΝΠϧΛੜ HPͷ࣮ߦϑΝΠϧ
(PͷϏϧυϑϩʔͷ֓ཁ ґଘؔͷղܾ ίϯύΠϧ $ go tool compile ύοέʔδຖʹPCKੜ ϦϯΫ $
go tool link 0CKΛ౷߹͠ɺ ࣮ߦϑΝΠϧΛੜ HPͷ࣮ߦϑΝΠϧ ύοέʔδຖͷPCK͕Ωϟογϡ͞Ε มߋ͕ͳ͍ύοέʔδͷίϯύΠϧεΩοϓ
(PͷϏϧυͷಛ w ΫϩείϯύΠϧʹΑΓɺ$*$%ͷઃఆָ͕ w Ϗϧυޙͷ୯ҰόΠφϦͰಈ͖ɺ࣮ߦڥʹ(PͷΠϯετʔϧෆཁ w ϏϧυΩϟογϡͷػߏ͕Έࠐ·Ε͍ͯΔ
$*$%Λૣ͘͢Δखஈͷ ௐࠪ։࢝
(PϏϧυͷجຊతͳߴԽख๏ w $*ͰϏϧυΩϟογϡΛར༻͢Δ w $*ͰϞδϡʔϧΩϟογϡΛར༻͢Δ w ར༻͍ͯ͠ͳ͍ίʔυΛআ͢Δ w ύοέʔδͷׂΛ࠷దԽ͢Δ
(PϏϧυͷجຊతͳߴԽख๏ w $*ͰϏϧυΩϟογϡΛར༻͢ΔˠճҎ߱͘ͳΔ w $*ͰϞδϡʔϧΩϟογϡΛར༻͢ΔˠճҎ߱͘ͳΔ w ར༻͍ͯ͠ͳ͍ίʔυΛআ͢Δˠௐࠪ͠ɺશମͷʹຬͨͳ͍ w ύοέʔδͷׂΛ࠷దԽ͢Δˠ͕͔͔࣌ؒΓ͗͢ΔͨΊɺݟૹΓ
(PϏϧυͷجຊతͳߴԽख๏ w $*ͰϏϧυΩϟογϡΛར༻͢ΔˠճҎ߱͘ͳΔ w $*ͰϞδϡʔϧΩϟογϡΛར༻͢ΔˠճҎ߱͘ͳΔ ΩϟογϡΛΘͳ͍߹Ͱ ͔͔Δͷײʹ͢Δ🤔
ͱ͍͏ͷɺ ։ൃ࣌ͷ$ go run Ͱؾͮͣ͘
ͳΒɺܭଌͩʂ
NJJWFͷϦϙδτϦߏͷ֓ཁ EPNBJONPEFM QBDLBHF ڞ௨ίϯϙʔωϯτ ɾɾɾ CBUDI"DNE NBJOQBDLBHF CBUDI#DNE NBJOQBDLBHF 8FC"1*TFSWFS
NBJOQBDLBHF
NJJWFͷϦϙδτϦߏͷ֓ཁ EPNBJONPEFM QBDLBHF ڞ௨ίϯϙʔωϯτ ɾɾɾ 8FC"1*TFSWFS NBJOQBDLBHF CBUDI"DNE NBJOQBDLBHF CBUDI#DNE
NBJOQBDLBHF ࠷େ͖͍8FC"1*TFSWFSΛ ܭଌͷλʔήοτͱ͢Δ
ϩʔΧϧͰϏϧυ࣌ؒΛܭଌͯ͠ΈΔ $ go clean -cache $ time go build
ϩʔΧϧͰϏϧυ࣌ؒΛܭଌͯ͠ΈΔ $ go clean -cache $ time go build go
build 65.29s
ϩʔΧϧͰϏϧυ࣌ؒΛܭଌͯ͠ΈΔ $ go clean -cache $ time go build go
build 65.29s 👍
NJJWFͷϦϙδτϦߏͷ֓ཁ EPNBJONPEFM QBDLBHF ڞ௨ίϯϙʔωϯτ ɾɾɾ CBUDI"DNE NBJOQBDLBHF CBUDI#DNE NBJOQBDLBHF 8FC"1*TFSWFS
NBJOQBDLBHF શମΛܭଌͷλʔήοτͱ͢Δ
ϩʔΧϧͰશମͷϏϧυ࣌ؒΛܭଌͯ͠ΈΔ $ go clean -cache $ time ./build_all.sh
ϩʔΧϧͰશମͷϏϧυ࣌ؒΛܭଌͯ͠ΈΔ $ go clean -cache $ time ./build_all.sh ./build_all.sh 265.91s
ϩʔΧϧͰશମͷϏϧυ࣌ؒΛܭଌͯ͠ΈΔ $ go clean -cache $ time ./build_all.sh ./build_all.sh 265.91s
🤔 ඵ
NJJWFͷϦϙδτϦߏͷ֓ཁ EPNBJONPEFM QBDLBHF ڞ௨ίϯϙʔωϯτ ɾɾɾ CBUDI"DNE NBJOQBDLBHF CBUDI#DNE NBJOQBDLBHF 8FC"1*TFSWFS
NBJOQBDLBHF #BUDIܥશମͷίʔυྔͷ ະຬ
NJJWFͷϦϙδτϦߏͷ֓ཁ EPNBJONPEFM QBDLBHF ڞ௨ίϯϙʔωϯτ ɾɾɾ CBUDI"DNE NBJOQBDLBHF CBUDI#DNE NBJOQBDLBHF 8FC"1*TFSWFS
NBJOQBDLBHF ڞ௨QBDLBHFΩϟογϡ͔Β ϏϧυεΩοϓ͢Δͣ
7FSCPTFPQUJPOͰಈ࡞Λ֬ೝͯ͠ΈΔ $ go build -v // compileதͷύοέʔδ͕දࣔ͞ΕΔ
7FSCPTFPQUJPOͰಈ࡞Λ֬ೝͯ͠ΈΔ $ go clean -cache $ ./build_all_verbose.sh
7FSCPTFPQUJPOͰಈ࡞Λ֬ೝͯ͠ΈΔ $ go clean -cache $ ./build_all_verbose.sh … math math
math …
͋Εʁ ෳճίϯύΠϧͯ͠Δ🤔
൜ਓ͍ͭ͜
$ go buildΛฒྻͰΒ͍ͤͯͨͨΊ ϏϧυΩϟογϡ͕ޮ͍͍ͯͳ͔ͬͨ
मਖ਼൛ͰϏϧυ࣌ؒΛܭଌͯ͠ΈΔ $ go clean -cache $ time ./build_all.sh ./build_all.sh 77.50s
☺
ղܾ👍
ͪͳΈʹ6OJU5FTUͷํͷվળ
6OJU5FTUͷվળ w ͬͱ͕͔͔͍࣌ؒͬͯͨͷ%#ଓͷςετ w %"5"%0(HPUYECΛಋೖͨ͠ ˠඵʹʂ
·ͱΊ w ͿͬͪΌ͚ʮॳظઃఆ࣌ͷϛεʯ w ਪଌ͢ΔͳɺܭଌͤΑ w (PͷϏϧυ͍͢͝ʂ
࠷ޙʹNJJWFʹ͍ͭͯͷհ
w ΧʔυYΞϓϦͰΧϯλϯརްੜ w αʔόʔ(P w 8FC3FBDU w ϞόΠϧ3FBDU/BUJWF w ࠾༻ڧԽதͰ͢
ɹ8FBSFIJSJOH