2
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.

ディップ with 全部俺 その3Advent Calendar 2019

Day 8

Cloud Runでbeegoアプリケーションをデプロイ

Last updated at Posted at 2019-12-12

はじめに

こんにちは、SREエンジニアやってます。@hayaosatoです。
今回はGCPのCloud Runの入門としてbeegoで作ったアプリケーションをデプロイしてみたいと思います。

beego

beegoはGoのフルスタックなWebアプリケーションフレームワークで、beeというCLIツールがあり、Railsライクなフレームワークです。
今回CloudRunでデプロイするアプリケーションはこのbeegoで作成したアプリケーションをデプロイしたいと思います。
beegoコンテナのDockefileは以下のようになります。

FROM golang:1.13.5

ENV GOPATH $GOPATH:/go
ENV PATH $PATH:$GOPATH/bin
WORKDIR /go/src

RUN apt update &&\
  go get "github.com/go-sql-driver/mysql" &&\
  go get "github.com/beego/bee" &&\
  go get "github.com/astaxie/beego"

RUN bee new app
WORKDIR /go/src/app
CMD ["bee", "run"]

bee newでbeegoのアプリケーションを生成して、bee runでアプリケーションを実行します。

GCP

続いて、先ほど作ったアプリケーションをCloud Runでデプロイしてみたいと思います。
Cloud RunにデプロイするためにはまずはContainer Registryにイメージをpushする必要があります。

Container Registry

レジストリへのpushは以下のコマンドで実行できます。

ホスト名はイメージがホストされている場所で、

  • gcr.io
  • us.gcr.io
  • eu.gcr.io
  • asia.gcr.io
    のいずれかです。
$ gcloud auth configure-docker
$ docker build -t ${イメージ名} .
$ docker tag ${イメージ名} ${ホスト名}/${プロジェクトID}/${イメージ名}
$ docker push ${ホスト名}/${プロジェクトID}/${イメージ名}

Cloud Run

さて、イメージのpushができたので次はCloud Runでデプロイしていきます。
Cloud Runのコンソール画面からサービスを作成を選択します。
スクリーンショット 2019-12-12 22.42.50.png

続いてコンテナイメージのURLには先ほどpushしたイメージを選択します。
リージョン、サービス名、認証を任意の値で設定します。
また、今回動かすbeegoアプリケーションはメモリがデフォルト値の256MiBでは足りないので512MiBに拡張しておきます。
そして、作成ボタンを押下する事でデプロイすることができます。
スクリーンショット 2019-12-12 22.43.03.png

結果

できました。
スクリーンショット 2019-12-12 22.48.12.png

参考

2
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
2
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?