AILERON Gateway

Overview

このページでは、AILERON Gateway の開発を始める方法について説明します。

必要なツールは以下の通りです:

以下の図は、AILERON Gateway のビルドと実行の概要を示しています。

stateDiagram-v2
  state run <<join>>
  state combine <<join>>
  state "バイナリをビルド" as build
  state "AILERON Gateway</br>バイナリ" as binary
  state "*.go" as go
  state "*.proto" as proto
  state "*.pb.go" as pbgo
  state "Configファイル</br>(.yaml  /.json)" as config
  
  state build {
  proto --> pbgo : protoc
  pbgo --> combine
  go --> combine
  combine --> binary : go build
  }
build --> run
config --> run
run --> [*] : Gatewayを実行

開発環境のセットアップ

1. Go をインストール

手順はこちらを参照してください:ダウンロードとインストール

AILERON Gateway の最新リリースから開発を行う際は、基本的には最新の安定版(1.(N).x)または1つ前の安定版(1.(N-1).x)を使用してください。
Go の最低バージョンは go.mod に記載されています。

インストールが完了したら、go コマンドが使用できることを確認してください。

go versionコマンドでバージョンを確認できます:

$ go version
go version go1.24.0 linux/amd64

上記に加えて、この時点で $(go env GOPATH)/binPATH 環境変数に追加することを推奨します。
$(go env GOPATH)/bin は、go install ... コマンドでインストールされたツールが配置される場所です。

Linux 環境で作業している場合は、以下のコマンドで PATH を設定できます:

PATH=$PATH:$(go env GOPATH)/bin

2. Protoc をインストール

protoファイルを扱う場合は protoc が必要です。
開発においてprotoファイルを扱わない場合は、このステップをスキップして構いません。

手順はこちらを参照してください:Protocol Buffer Compiler のインストール

AILERON Gatewayは、設定ファイルのインターフェース定義に Protocol Buffer を利用しています。
protocコマンドにより、protoファイルからGoのコードが生成されます。
protoファイルは proto ディレクトリにあります。

インストールが完了したら、protoc コマンドが使用可能か確認してください。

protoc --versionコマンドでバージョンを確認できます:

$ protoc --version
libprotoc 29.0

protocをインストールする際には、公式のprotocリリースにバンドルされている include/google/ディレクトリが、適切な場所に配置されている必要があります。

Linux 環境で作業している場合、一般的なディレクトリ構成は以下のようになります:

/usr/
└── local/
    ├── bin/
    │   └── protoc
    └── include/
        └── google/

/usr/local/include/ は、protoc のデフォルトのインクルードパスの1つです。

その他のprotocのデフォルトインクルードパスには、以下が含まれます:

  • <Current>/
  • <Current>/include/
  • <Parent>/include/

これらのいずれかの場所に google/ ディレクトリを配置してください。

 <Parent>
 ├── <Current>
 │   ├── protoc        <---- Currentはバイナリが存在するフォルダ
 │   ├── google/       <---- デフォルトでインクルードされる
 │   └── include/
 │       └── google/   <---- デフォルトでインクルードされる
 └── include/
     └── google/       <---- デフォルトでインクルードされる

詳細は次のファイルを参考にしてください。 command_line_interface.cc.

3. protoc-gen-go をインストール

protoc-gen-go は、protoファイルから Go コードを生成するために必要です。

以下のコマンドでインストールします。

go install "google.golang.org/protobuf/cmd/protoc-gen-go@latest"

インストールが成功したかどうかを確認します。

$ protoc-gen-go --version
protoc-gen-go v1.36.6

go install ... コマンドでツールをインストールすると、そのコマンドは $(go env GOPATH)/bin に配置されます。
したがって、このパスが1. Goをインストール で説明したように PATH 環境変数に含まれている必要があります。

AILERON Gateway のビルド

AILERON Gateway をビルドする最も簡単な方法は以下の通りです。

# AILERON Gatewayのレポジトリルートで作業します。
go build cmd/aileron/

または、いくつかの推奨オプションを付けて実行する方法もあります。

export CGO_ENABLED=0
go build -ldflags="-s -w" cmd/aileron/

go コマンドを直接実行する代わりに、Makefile を利用することもできます。

make build

最終更新 June 7, 2025: add japanese (f2a41f1)