diff --git a/README.md b/README.md index b0671d3..b144532 100644 --- a/README.md +++ b/README.md @@ -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パッケージを作成する diff --git a/scripts/build.sh b/scripts/build.sh new file mode 100644 index 0000000..741db37 --- /dev/null +++ b/scripts/build.sh @@ -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 \ No newline at end of file