9
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ServerlessFrameworkにてaws-go-modテンプレートのサービスをデプロイしてみる

Last updated at Posted at 2019-03-26

とりあえずやってみた系。
大した情報ではないが、aws-go-modについてはServerlessFramework本家のサンプルもなく、海外も含め、まだ情報が少なそうだったので一応公開しておく。
誰かのお役に立てればこれ幸い。

aws-go-mod?

ServerlessFrameworkでは、今現在(2019/03/26)、Lambdaのgoランタイムでは以下の3種から選択できる。
・aws-go
・aws-go-dep
・aws-go-mod

後者の2つはパッケージ管理ツールが含まれたものとなる。
それぞれ、dep、Moduleというツールになる。
Moduleはdepの後継版にあたり、今後はModuleが主流になる模様。新規に始める場合はこちらを選んでおきましょう。

実行コマンドの履歴

サービス生成

ServerlessFrameworkコマンドにてサービス生成する。

$ sls create --template aws-go-mod --path test-func
$ cd test-func
$ ls
Makefile	gomod.sh	hello		serverless.yml	world

ビルド(失敗)

ビルドしてみるがエラー :(

$ make build
chmod u+x gomod.sh
./gomod.sh
export GO111MODULE=on
env GOOS=linux go build -ldflags="-s -w" -o bin/hello hello/main.go
hello/main.go:8:2: cannot find package "github.com/aws/aws-lambda-go/events" in any of:
	/usr/local/Cellar/go/1.10.3/libexec/src/github.com/aws/aws-lambda-go/events (from $GOROOT)
	/Users/hiroyama/go/src/github.com/aws/aws-lambda-go/events (from $GOPATH)
hello/main.go:9:2: cannot find package "github.com/aws/aws-lambda-go/lambda" in any of:
	/usr/local/Cellar/go/1.10.3/libexec/src/github.com/aws/aws-lambda-go/lambda (from $GOROOT)
	/Users/hiroyama/go/src/github.com/aws/aws-lambda-go/lambda (from $GOPATH)
make: *** [build] Error 1

必要なパッケージをDL。

$ go get -u github.com/aws/aws-lambda-go/lambda

ビルド(リトライ)

成功 :)

$ make build
chmod u+x gomod.sh
./gomod.sh
export GO111MODULE=on
env GOOS=linux go build -ldflags="-s -w" -o bin/hello hello/main.go
env GOOS=linux go build -ldflags="-s -w" -o bin/world world/main.go
$ ls
Makefile	bin		go.mod		gomod.sh	hello		serverless.yml	world

デプロイ

成功 :)

$ sls deploy

ちなみに、以下のコマンドでビルドからデプロイまで実施できる。
通常はこっちの方が使うことが多そう。

$ make deploy
9
0
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
9
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?