LoginSignup
1
4

More than 5 years have passed since last update.

Go を Elastic Beanstalk にデプロイする

Posted at

この記事を元にGOアプリをElastic Beanstalkにデプロイしたメモ。

GOのビルドはどこで行う?

  1. リモート(eb上)で実施
  2. ローカルで実施

最初は 1. で頑張っていたが依存などの関係を構築するのがかなり面倒だったので 2. を採用。
ビルドしたバイナリをgitに毎回commitするのは非常に残念なのでeb deployラッパーを作成しそれでデプロイを実施することにした。
デプロイに必要なファイルは実行形式のバイナリとProcfileと.ebextensionsの設定ファイル程度なので、それだけをzipで固めてeb deployを実施。
所定のzipファイルを使う場合は.elasticbeanstalk/config.ymlに以下を追加しておく。

deploy:
  artifact: /tmp/app.zip

eb deployのラッパーのサンプルはこんな感じ。

#!/usr/bin/env bash
set -xe
ZIP_FILE=/tmp/app.zip
test -e $ZIP_FILE && rm -f $ZIP_FILE

# GOのビルド
godep go build -o bin/application ...

zip -9 $ZIP_FILE bin/application Procfile $(git ls-files .ebextensions/)
eb deploy --staged
1
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
4