読者です 読者をやめる 読者になる 読者になる

Raspberry PiでMackerelの続き

本バージョンよりビルドには Go 1.3 が必要となります。ご自分でビルドされ
ている方は、環境のアップデートをお願いいたします。

http://blog-ja.mackerel.io/entry/2014/06/26/164202

おーすごい勢いでバージョンアップしているけど
いちいちビルドしてついていくのはかなり面倒

とりあえずgolang1.3にバージョンアップして
# これは仕方なし
オリジナルのMakefileをコピーして適当なフォルダに置いて

BIN = mackerel-agent

all: clean build test

test: deps
	go test github.com/mackerelio/mackerel-agent/...

build: deps
	go build \
	-ldflags="\
	  -X github.com/mackerelio/mackerel-agent/version.GITCOMMIT `git rev-parse --short HEAD` \
	  -X github.com/mackerelio/mackerel-agent/version.VERSION   `git describe --tags --abbrev=0 | sed 's/^v//' | sed 's/\+.*$$//'` " \
	-o build/$(BIN) \
	github.com/mackerelio/mackerel-agent

install: build
	sudo cp -f ./build/$(BIN) /usr/local/sbin/

deps:
	go get -u -d github.com/mackerelio/mackerel-agent

clean:
	rm -f build/$(BIN)
	go clean
% pkill mackerel-agent
% ln -s ${GOPATH}/src/github.com/mackerelio/mackerel-agent/.git .
% make install

ついでにrcスクリプトも作って

#!/bin/sh
### BEGIN INIT INFO
# Provides:          mackerel-agent
# Required-Start:
# Required-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
### END INIT INFO

PATH=/bin:/usr/bin:/sbin:/usr/local/sbin:/usr/sbin
DAEMON=/usr/local/sbin/mackerel-agent
CONFFILE=/usr/local/etc/mackerel-agent.conf
OPTIONS="-conf=${CONFFILE} -verbose=false"
PIDFILE=/var/run/mackerel-agent.pid
NAME=mackerel-agent

case "$1" in
  start)
    echo -n "Starting $NAME Daemon: "
    start-stop-daemon --start --quiet --pidfile $PIDFILE --background --exec $DAEMON -- $OPTIONS
    ;;
  stop)
    echo -n "Stopping $NAME: "
    start-stop-daemon --stop --quiet --pidfile $PIDFILE
    ;;
  restart)
    echo "Restarting $NAME: "
    start-stop-daemon --stop --quiet --pidfile $PIDFILE
    start-stop-daemon --start --quiet --pidfile $PIDFILE --background --exec $DAEMON -- $OPTIONS
    ;;
  *)
    echo "Usage: $0 {start|stop|restart}"
    exit 1
    ;;
esac

exit 0
% sudo /etc/init.d/mackerel-agent start

かな