GO

GAE/GOの開発環境セットアップ方法

投稿日:2018年2月10日 更新日:


Go言語でGAEを開発する環境のセットアップ手順についてのメモです。

GoのインストールからGAEへのデプロイまで一通り実施します!

基本的には、公式のチュートリアル通りにやっていけばOKなんですけどね。

では、早速始めましょう!

スポンサーリンク

事前準備

Google Cloud SDKのインストール

まずは、Google Cloud SDKのインストールから行います。

Google Cloud SDKとは
ローカールサーバーでGO言語を実行したり、リモートサーバーへデプロイしたりするのに使います。

下記の公式リンクの手順通りにインストールします。

Google Cloud SDK ドキュメント

インストールが終わると勝手にコマンドプロンプトが起動して、Google Cloud SDKの処理が走ります。

この時に、Googleアカウントへのログインも行われます。

gcloudコンポーネントのインストール

一通り処理が終わったら、そのまま開いているコマンドプロンプトに下記のコマンドを入力してgcloudコンポーネントをインストールします。

GOのインストール

下記のURLからGOのインストーラーをダウンロードしてインストールします。

Goダウンロード

ここまで出来たら準備完了です。

さっそく動かしてみましょう!

ローカルサーバーで実行

サンプルのダウンロード

まずは、サンプルプロジェクトをダウンロードします。

Gitなら下記のコマンドで

Gitがなければ、下記のリンクからzipのダウンロードでもOKです。

https://github.com/GoogleCloudPlatform/appengine-guestbook-go/archive/part1-helloworld.zip

ローカルサーバー起動

ダウンロード出来たらそのディレクトリへ移動しましょう。

下記のコマンドでローカルサーバーで実行します。

僕のWindows環境ではこのコマンドが実行出来ませんでした。
実行するとアプリケーション選択のダイアログが出てきてしまいます。
pythonがインストールされていないのでpyファイルが実行出来ないのが原因でした
Windowsの場合、Google Cloud SDKpythonが含まれているはずなのですが、インストールできていなかったようです。
pythonをインストールすることで、無事に解決しました。
参考:Pythonをインストールする(for Windows)

コマンドが通ったら下記のURLで動作を確認出来ます。
http://localhost:8080/

Hello, world!が表示されればOKです!

hello.goを変更すると、出力結果も変わるので色々試してみましょう。

デプロイ

最後に実際にサーバーへデプロイしてみます。
GAEでプロジェクトを作成して、そこに先程のサンプルコードをアップロードします。

GAEプロジェクト作成

ロケーションの選択と言語「GO」の選択までやれば、その後に始まるチュートリアルはやらなくても大丈夫です。

※そのチュートリアルではGoogle Cloud Shellを使ってクラウド上で開発環境を構築します。
この記事ではローカルで開発してサーバーへアップロードする構成でのセットアップなのでとばします。

サンプルのyamlがあるディレクトリから下記のコマンドを実行してみましょう。

デプロイ

表示

ブラウザにデプロイされたページが表示されます。

これでGOのセットアップは完了です!
お疲れ様でした!

デプロイしたプロジェクトを削除

念の為、料金発生を避けるためデプロイしたプロジェクトは削除しておきましょう。

下記のURLからプロジェクト毎に削除を行えます。
リソース管理

まとめ

最低限必要なGOのセットアップでした。

gcloudコマンドは頻繁に使うことになりそうなので参考になりそうなリンクを貼っておきます。

よく使うgcloudコマンドたち

あとは開発環境選びですね。

開発環境を導入すれば、コマンド叩かなくてもGUIからデプロイとかできそうですね。
GoLandを使いたいのですが、この前PHPStormのライセンスを買ったばかりなんでよ。
IntelliJ IDEAにしておけば、1つのライセンスでJavaもPHPもGOも同じライセンスで開発出来たので後悔してます。

最後までお読み頂きありがとうございました!

スポンサーリンク


-GO

執筆者:

関連記事

【Go】JSONのパースが失敗する原因

Go言語で、JSONをパースする際に躓きましたので原因をまとめておきます。 json.UnmarshalでJSONパースする際のハマったポイントです。 スポンサーリンク 目次マッピングのミス型の不一致 …

【GAE/GO】Echo V3はGAE未対応?V2なら動く!

※2018/3/20時点で最新のEchoのバージョンV3で動かせなかった事象です。 その後、V4がリリースされているので最新版のEchoでは本記事の問題は解決しているかもしれません。(未確認) GAE …

プロフィール

このサイトを運営しているDENです。
アングラーのフリープログラマー。 主にプログラミングと釣の話を発信しています。
プログラミングで自由になり思う存分に釣りをしまくる生活実践中。
詳しいプロフィールはこちら 
フォスターフリーランス