ご自身の開発環境で開発した Golang アプリをマネージドクラウドで公開する方法です。
事前に Golang 公式ページ より環境に合わせて go のインストールをお願いいたします。
手順
1. Golang のプロジェクトを作成しよう
プロジェクト作成ページ から Golang のアプリケーションを選んで、プロジェクトを作成します。
はじめに、作成したプロジェクトにアクセスして初期コンテンツが正常に表示されることをご確認ください。
2. SSH の公開鍵を登録する
SSH の公開鍵が未登録の場合は SSH 公開鍵ページ で登録します。
※設定方法は「公開鍵の作成・登録方法」をご覧ください。
3. アプリケーションを作成する
このマニュアルでは Golang の組み込みの net/http
パッケージを使用します。
次に下記内容を含むファイルを main.go
として作成します。 サービス仕様として、アプリケーションはポート 8080
を Listen する必要があります。
package main
import (
"fmt"
"log"
"net/http"
)
func main() {
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
fmt.Fprintln(w, "Hello World!")
})
log.Fatal(http.ListenAndServe(":8080", nil))
}
ファイルの作成が終わりましたら、下記のようにコマンドを実行し、アプリケーションのビルドを行います。
これによりサーバーアプリケーションとして動作するバイナリファイルが生成されます。
# myapp という名前で Linux 64bit 環境向けのアプリケーションを生成する
env GOOS=linux GOARCH=amd64 go build -o myapp main.go
go コマンドによるビルド処理を行う際に環境変数として、 GOOS、GOARCH を設定することにより 、 実行環境の設定を行うことで、作業中の環境とは異なる環境向けのアプリケーションを出力することができます 。
参考資料: https://golang.org/doc/install/source#environment
4. アプリケーションをデプロイする
プロジェクトの詳細ページ を表示し、「SSH / SFTP」に記載されている情報をもとに、SFTP での接続情報を参照いただき、SFTP でサーバーにアクセスします。
正常にアクセスができましたら、先程生成したバイナリファイル (例: myapp) をアップロードします。 今回はパスが /var/app/myapp
となるようにアップロードします。実行権限は 700
を設定してください。
5. 起動コマンドの変更
再びプロジェクト詳細ページ を表示し、「起動コマンド」の入力欄に /var/app/myapp
と入力します。
入力を終えましたら、「変更を適用」ボタンを押します。
コンテナ再起動の確認のダイアログが表示されますので、注意事項をご確認いただき、「実行」を押してください。
6. 表示確認
ブラウザでプロジェクトの URL にアクセスいただきブラウザから「Hello,World!」が表示されるかご確認ください。
その他
アプリケーションの更新するには?
ソースコードを変更いただき、再びアプリケーションのビルドを行いましたら、SFTP でのファイルアップロードをお願いします。次回のコンテナ起動時に新しいアプリケーションが起動いたします。即時に反映を行いたい場合は、起動コマンドを変更せず「変更を適用」をクリックし、画面に従って手続きをお願いいたします。
The Golang logo by the Go authors CC BY 3.0