背景
- ローカル(プライベート)で aarch64/arm64 の CI ビルドしたい
- Jetson AGX や, Raspberry Pi 4 など
- git repo 管理とか issue tracking 機能が必要というわけではないので, タスク実行に特化した? https://concourse-ci.org/ Concourse CI を使ってみます
- Concourse CI サーバは x64 を想定
サイトでは docker から利用する例がありますが, 実際のところは concourse
単一バイナリでサーバやワーカーを兼ねています.
Prebuilt binary や Docker image では, concourse
の arm64 バイナリやイメージは用意されていません.
worker ノードの場合は特に DB など使うようでもなくて concourse
バイナリだけあればよさそうですので, concourse
バイナリをビルドするようにします.
手順
ソースコード https://github.com/concourse/concourse からビルドします.
golang なのであまり難しことはなく go build でいけます.
module(?)を使っているようなので最新 golang を使います(Ubuntu apt にあるのは古く go mod
に対応していなかったりする). 幸いにも golang は web site に arm64 prebuilt があります.
$ go mod download
$ go build -x ./cmd/concourse
でいけます!
ビルドにはそこそこ時間かかるので -x
で進捗を表示させるとよいでしょう.
あとは Dockerfile を参考に TSA キーを用意して concorse worker
でサーバに繋げばいけるはず... ですが, gdn が必要と言われました.
T.B.W.