Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Goビルドを理解し、 CI/CDの高速化に挑む
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
sato-shin
March 27, 2026
Technology
750
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.8k
Bitriseのビルド回数が 10倍以上になって変わったコト
satoshin
1
490
Pull Request Trigger について ~Expose for Pull Request?~
satoshin
1
170
User Notification for UX!
satoshin
0
200
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
QA4AI 2026-Oct 生成AI時代の品質保証
tokuty
0
400
転んだ話が背中を預ける理由になる / A_story_about_falling_down_gives_you_a_reason_to_watch_each_other_s_backs.pdf
pauli
3
360
AI時代のAPI開発を加速する品質ガードレール / API Quality Guardrails in the AI Era
yokawasa
0
190
パッチ更新でterraform initが落ちた日
grimoh
1
120
V8のArray.prototype.flatを最大約20倍速くするまでと、巨大OSSへの大規模コミットの道のり
riyaamemiya
0
270
夫婦で子育てするための育児標準化
codmoninc
PRO
0
190
ハードウェアコンペでもAI駆動開発が進んでいる話
iotengineer22
1
690
スキマバイトという雇用形態は存在しないので、雇用期間1日のアルバイト契約を事業者とワーカーが結ぶ手続きを支えるのがタイミーなんです
akitoshiga
0
120
AI駆動開発の時代になったのでトヨタ生産方式から見直す
terurou
7
5.8k
Claude Code本は、どのように執筆チームで書かれたか
oikon48
1
360
LocalStack を使ったサーバーレスアプリケーション開発 / Serverless Development with LocalStack
kakakakakku
1
410
全人類(ほぼ)AWS Organizations の上でAWSを利用している、その世界を知る話
htan
1
140
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
We Have a Design System, Now What?
morganepeng
55
8.4k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
450
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
730
Technical Leadership for Architectural Decision Making
baasie
3
600
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
1
280
Embracing the Ebb and Flow
colly
88
5.2k
Building the Perfect Custom Keyboard
takai
2
900
WCS-LA-2024
lcolladotor
0
880
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
300
How to Talk to Developers About Accessibility
jct
2
570
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