buildを作成

This commit is contained in:
ry.yamafuji 2025-12-24 23:41:54 +09:00
parent 8b57a363b1
commit 8f8b8490e8
2 changed files with 64 additions and 0 deletions

View File

@ -12,6 +12,8 @@ Slackにメッセージを送信するツール
- [Markdown](#markdown)
- [Webserver](#webserver)
- [Deploy](#deploy)
- [ローカルへインストールする](#ローカルへインストールする)
- [aptパッケージを作成する](#aptパッケージを作成する)
## Environments
@ -97,3 +99,50 @@ go build -o bin/slacksend \
-ldflags "-s -w" \
./cmd/slacksend
```
ビルド時にGit情報を埋め込む方法
```sh
VERSION=$(git describe --tags --always --dirty)
COMMIT=$(git rev-parse --short HEAD)
DATE=$(date +"%Y-%m-%d")
go build \
-ldflags "\
-X main.version=$VERSION \
-X main.commit=$COMMIT \
-X main.date=$DATE" \
-o slacksend \
./cmd/slacksend
```
### ローカルへインストールする
インストールする
```sh
go install ./cmd/slacksend
slacksend -v
# Goのルートを確認する
go env GOPATH
```
`~/go/bin``PATH`に入ってない場合は .zshrcに設定する
```sh
vim ~/.zshrc
export PATH="$(go env GOPATH)/bin:$PATH"
```
アンインストール方法
```sh
which slacksend
# パスにあるバイナリファイルを削除する
rm /Users/xxx/go/bin/slacksend
```
### aptパッケージを作成する

15
scripts/build.sh Normal file
View File

@ -0,0 +1,15 @@
#!/bin/bash
VERSION=$(git describe --tags --always --dirty)
COMMIT=$(git rev-parse --short HEAD)
DATE=$(date +"%Y-%m-%d")
echo "Building slacksend version: $VERSION, commit: $COMMIT, date: $DATE"
go build \
-ldflags "\
-X gitea.pglikers.com/tools/slacksend/internal/version.Version=$VERSION \
-X gitea.pglikers.com/tools/slacksend/internal/version.Commit=$COMMIT \
-X gitea.pglikers.com/tools/slacksend/internal/version.Date=$DATE" \
-o ./bin/slacksend \
./cmd/slacksend