[ #ARM ][ #docker ][Golang][監視] mackerel-agent-plugins をAarch64でbuildする。

     
    • 最終更新日時:2018/03/16 22:00:56

    Embed
    Screenshot-2018-3-16 kometchのダッシュボード · kometch

    mackerel使ってますかね?
    個人的にmackerelの嬉しいところは、ARM向けのバイナリを配布しているところでしょうか。
    不満といえば、mackerel-agentはARMバイナリを配布しているのに、mackerel-agent-pluginは配布していないことです。

    ということで、自分の家用にAarch64向けにbuildする方法をメモしておきます。

    前提条件:
    docker-engineを導入しておくこと。
    $ uname -rm
    4.14.26-sunxi64 aarch64
    $ cat /etc/os-release
    PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
    NAME="Debian GNU/Linux"
    VERSION_ID="9"
    VERSION="9 (stretch)"
    ID=debian
    HOME_URL="https://www.debian.org/"
    SUPPORT_URL="https://www.debian.org/support"
    BUG_REPORT_URL="https://bugs.debian.org/"

    mackerelio/mackerel-agent-plugins: Plugins for mackerel-agent /
    https://github.com/mackerelio/mackerel-agent-plugins

    1. mackerel-agent-pluginsをgit cloneしておきます。
    git clone https://github.com/mackerelio/mackerel-agent-plugins.git


    2. /mackerel-agent-plugins/packagingに移動し、deb-v2をdeb-v3としてコピーする。
    3. deb-v3/debianに移動し、以下のファイルを編集する。
    vi control
    Source: mackerel-agent-plugins
    Maintainer: Mackerel Developers
    Section: misc
    Priority: optional
    Build-Depends: debhelper
    Standards-Version: 3.9.3

    Package: mackerel-agent-plugins
    Depends: ${shlibs:Depends}, ${misc:Depends}
    -Architecture: amd64
    +Architecture: arm64
    Description: metric plugins for mackerel-agent
    metric plugins for https://mackerel.io (Monitoring SaaS)


    4. mackerel-agent-pluginsディレクトリに戻り、Makefileを編集する。
    --- Makefile.org        2018-03-03 22:29:31.621339892 +0900
    +++ Makefile 2018-03-16 19:23:06.727160630 +0900
    @@ -1,4 +1,4 @@
    -VERSION = 0.45.0
    +VERSION = 0.46.0
    VERBOSE_FLAG = $(if $(VERBOSE),-verbose)
    CURRENT_REVISION = $(shell git rev-parse --short HEAD)

    @@ -95,6 +95,10 @@
    cp build/mackerel-plugin packaging/deb-v2/debian/
    cd packaging/deb-v2 && debuild --no-tgz-check -rfakeroot -uc -us

    +deb-v3:
    + $(MAKE) build/mackerel-plugin GOOS=linux GOARCH=arm64
    + cp build/mackerel-plugin packaging/deb-v3/debian/
    + cd packaging/deb-v3 && debuild --no-tgz-check -rfakeroot -uc -us
    release: check-release-deps
    (cd tool && cpanm -qn --installdeps .)
    perl tool/create-release-pullrequest


    5. 以下のコマンドを実行する。
    docker run --rm -it -v $PWD:/root -w /root kometchtech/mackerel-build:latest make deb-v3

    golang-1.10の入ったイメージをベースに、debパッケージを作成できるように、開発用ツールを追加導入したものです。Aarch64ベースで作成しているので、他の環境では動作しません。

    これで、Docker containerでエラーがなく正常に終了したのならば、packaging/deb-v3/debian/以下にdebパッケージが作成されているはずです。
    ホスト環境にgolangなどを追加で用意する必要はありません。
    関連記事


    Pagination

    Trackback

    Trackback URL

    https://kometchtech.blog.fc2.com/tb.php/2107-9a00ab4a

    Comment

    Post Your Comment

    コメント登録フォーム
    公開設定

    Utility

    Profile

    kometchtech

    Author:kometchtech
    なんちゃってエンジニアです。
    2009年10月から業務都合により大阪勤務になりました。
    2010年1月、HYBRID W-ZERO3を購入しました。
    2010年11月、HTC Desire HDを購入しました。
    2012年2月、都内の会社に転職しました。
    2012年5月、HTC One Xを購入しました。
    2012年8月、事情により休職しました。
    2012年8月、SONY Xperia SXを購入しました。
    2013年1月、一身上の都合により退職しました。
    2014年3月、都内の会社に就職しました。
    2016年8月、HPC系の会社に転職しました。

    Amazonほしい物リスト
    何か問題などありましたら、こちらまで。 Twitter:@kometchtech follow us in feedly

    カレンダー

    03 | 2018/04 | 05
    1 2 3 4 5 6 7
    8 9 10 11 12 13 14
    15 16 17 18 19 20 21
    22 23 24 25 26 27 28
    29 30 - - - - -

    全記事(数)表示

    全タイトルを表示

    バロメーター

    カテゴリー

    カテゴリークラウド

    アーカイブ

    検索フォーム

    FC2カウンター

    現在の閲覧者数

    現在の閲覧者数:

    Amazonアソシエイト

    スポンサードリンク

    月間ページランキング

    ブログパーツ

    サイトランキング