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 で作った CLI ツールにバージョンを埋め込みたい
Search
Kotaro Otaka
November 19, 2025
Programming
200
0
Share
Go で作った CLI ツールにバージョンを埋め込みたい
The Go gopher was designed by Renée French.
https://gotalk.connpass.com/event/372360/
Kotaro Otaka
November 19, 2025
More Decks by Kotaro Otaka
See All by Kotaro Otaka
PostgreSQL を使った快適な go test 環境を求めて
otakakot
0
660
組込みだけじゃない!TinyGo で始める無料クラウド開発入門
otakakot
2
540
組込みだけじゃない! TinyGo で始める無料クラウド開発入門
otakakot
1
120
統一感のある Go コードを生成 AI の力で手にいれる
otakakot
1
3.8k
SQLBoiler がメンテナンスモードになりまして
otakakot
0
320
Wasm わからないけど Go で実装したいから入門する
otakakot
1
10k
cmp.Or に感動した
otakakot
3
1k
net/http/httptest が推しです♡
otakakot
3
390
無料で楽しむ Go サーバー開発のススメ
otakakot
11
4.2k
Other Decks in Programming
See All in Programming
Vibe NLP for Applied NLP
inesmontani
PRO
0
250
PHP 7.4でもOpenTelemetryゼロコード計装がしたい! / PHPerKaigi 2026
arthur1
1
550
3分でわかるatama plusのQA/about atama plus QA
atamaplus
0
130
Kubernetes上でAgentを動かすための最新動向と押さえるべき概念まとめ
sotamaki0421
3
460
TiDBのアーキテクチャから学ぶ分散システム入門 〜MySQL互換のNewSQLは何を解決するのか〜 / tidb-architecture-study
dznbk
1
140
Oxlintとeslint-plugin-react-hooks 明日から始められそう?
t6adev
0
110
Go_College_最終発表資料__外部公開用_.pdf
xe_pc23
0
160
Radical Imagining - LIFT 2025-2027 Policy Agenda
lift1998
0
250
ローカルで稼働するAI エージェントを超えて / beyond-local-ai-agents
gawa
3
260
Going Multiplatform with Your Android App (Android Makers 2026)
zsmb
2
370
PCOVから学ぶコードカバレッジ #phpcon_odawara
o0h
PRO
0
250
의존성 주입과 모듈화
fornewid
0
120
Featured
See All Featured
Accessibility Awareness
sabderemane
0
96
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
220
Building an army of robots
kneath
306
46k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.7k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
160
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
440
Building Adaptive Systems
keathley
44
3k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
710
From π to Pie charts
rasagy
0
160
Raft: Consensus for Rubyists
vanstee
141
7.4k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
1k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.8k
Transcript
The Go gopher was designed by Renée French. Go で作った
CLI ツールに バージョンを埋め込みたい おーたかこーたろー / @otakakot 2025.11.19 Go Connect #10
#goconnect Go で CLI ツールを作成したことある人
#goconnect バージョン出力したいな
#goconnect バージョンはどうやって管理する?
バージョン管理手法を4パターン紹介! #goconnect
紹介するパターンは OSS の実装を参照 #goconnect
Kotaro Otaka おーたかこーたろー / @otakakot #goconnect Web Engineer 新卒入社 Hello
Golang! Web Engineer @株式会社ビットキー 2020.04 2021.04 2022.11 Gopher 年生 Go
#goconnect 定数/const パターン
定数でバージョンを管理 #goconnect Features
#goconnect
もっともシンプル #goconnect Pros
自動更新を考えるとめんどくさい #goconnect Cons
#goconnect beego フレームワークのための CLI ツール
#goconnect go:embed パターン
Go 1.16 で追加された 外部ファイルをプログラム に埋め込む機能を利用 #goconnect Features
#goconnect
定数で扱うより自動更新は楽 #goconnect Pros
バージョン更新のために コミットしないといけない #goconnect Cons
#goconnect XMLとHTMLの操作 CLI ツール
#goconnect go build -ldflags パターン
ビルド時に -ldflags オプションを利用し バージョン情報を外部から渡す #goconnect Features
#goconnect
コード外でバージョン情報を管理可能 #goconnect Pros
go install だとバージョンが含まれない #goconnect Cons
#goconnect k8s ファイルを分割するための CLI ツール
#goconnect buildinfo パターン
Go 1.18 で追加された Git の commit id や commit した時刻等の
バージョン管理システム(VCS) 情報を利用 #goconnect Features
#goconnect
go install でもバージョン情報が含まれる #goconnect Pros
実装が多少複雑化 #goconnect Cons
#goconnect kubectl の出力を色付けする CLI ツール
#goconnect まとめ
パターン名 バージョン管理場所 定数/const Go コード go:embed テキストファイル go build -ldflags
git tag など + ビルド時注入 buildinfo バージョン管理システム(VCS) #goconnect
#goconnect おすすめは buildinfo
おわり またどこかで お会いしましょう!