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
0
81
Go で作った CLI ツールにバージョンを埋め込みたい
The Go gopher was designed by Renée French.
https://gotalk.connpass.com/event/372360/
Kotaro Otaka
November 19, 2025
Tweet
Share
More Decks by Kotaro Otaka
See All by Kotaro Otaka
組込みだけじゃない!TinyGo で始める無料クラウド開発入門
otakakot
2
430
組込みだけじゃない! TinyGo で始める無料クラウド開発入門
otakakot
1
29
統一感のある Go コードを生成 AI の力で手にいれる
otakakot
1
3.6k
SQLBoiler がメンテナンスモードになりまして
otakakot
0
220
Wasm わからないけど Go で実装したいから入門する
otakakot
1
10k
cmp.Or に感動した
otakakot
3
910
net/http/httptest が推しです♡
otakakot
3
310
無料で楽しむ Go サーバー開発のススメ
otakakot
11
4k
Go のテストで失敗をマークする
otakakot
1
250
Other Decks in Programming
See All in Programming
ThorVG Viewer In VS Code
nors
0
490
Rubyで鍛える仕組み化プロヂュース力
muryoimpl
0
250
ZJIT: The Ruby 4 JIT Compiler / Ruby Release 30th Anniversary Party
k0kubun
1
300
[AtCoder Conference 2025] LLMを使った業務AHCの上⼿な解き⽅
terryu16
6
970
[AI Engineering Summit Tokyo 2025] LLMは計画業務のゲームチェンジャーか? 最適化業務における活⽤の可能性と限界
terryu16
1
140
生成AIを利用するだけでなく、投資できる組織へ
pospome
2
430
AI前提で考えるiOSアプリのモダナイズ設計
yuukiw00w
0
210
まだ間に合う!Claude Code元年をふりかえる
nogu66
5
920
【卒業研究】会話ログ分析によるユーザーごとの関心に応じた話題提案手法
momok47
0
150
Pythonではじめるオープンデータ分析〜書籍の紹介と書籍で紹介しきれなかった事例の紹介〜
welliving
3
680
ローカルLLMを⽤いてコード補完を⾏う VSCode拡張機能を作ってみた
nearme_tech
PRO
0
210
大規模Cloud Native環境におけるFalcoの運用
owlinux1000
0
230
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
130
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
210
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.4k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
7.9k
Paper Plane (Part 1)
katiecoart
PRO
0
2.5k
Highjacked: Video Game Concept Design
rkendrick25
PRO
0
260
What does AI have to do with Human Rights?
axbom
PRO
0
1.9k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
0
100
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
410
The Curse of the Amulet
leimatthew05
0
6.4k
Amusing Abliteration
ianozsvald
0
79
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
おわり またどこかで お会いしましょう!