LoginSignup
8
5

More than 5 years have passed since last update.

Golangで書いたweb以外のプログラムをheroku上で動かす

Last updated at Posted at 2017-11-21

やったこと

herokuにGolangで作ったプログラムをデプロイしました。

herokuはwebアプリしかデプロイできないと思っていたのですが、普通のプログラムもheroku上で動かせるというのを知りました。
とりあえず記事にします。

必要なもの

・Golangで書いたプログラム

・herokuCLI <- これはherokuのチュートリアルでインスコしていると思います

godep

go get github.com/tools/godep

でインストールできます。

いきなり余談

heroku コマンドで
エラーメッセージ
こんなエラーが出たら
この記事を見て、herokuCLIをアップデートしましょう。

本番

demoappディレクトリに
main.goがあるとします。

この時、パッケージはGOPATH以下に存在しないと行けないようです
1.

$echo 'worker: demoapp' > Procfile

と実行してください。workerというプロセス名にすることで、webアプリでないものも動かせるようになります。

2.

$godep save

と実行してください。
これでライブラリなどの依存関係がまとめられます。

3.

$heroku create --buildpack https://github.com/heroku/heroku-buildpack-go.git

と実行してください。
--buildpack https://github.com/heroku/heroku-buildpack-go.git
は、godepを使用する限り絶対に付けないといけないオプションです。

4.

$git init
$git add .
$git commit -m "first commit"
$git push heroku master

これを実行すればデプロイ完了です!


herokuの管理画面
ダッシュボードのResourcesタブを見ると、workerがあります。
右のペンのボタンを押してトグルをオンにし、confilmを押すと稼働します。
ログは右上のMoreボタンの「View logs」より確認できます〜!!

エラー

pushする際に

fatal: 'hoge' does not appear to be a git repository云々

などと出て来た場合は

//アプリケーション名はherokuサイトのダッシュボードから確認できます
git remote add heroku https://git.heroku.com/アプリケーション名.git

を実行してください。
https://qiita.com/sayama0402/items/e2c9e65786259dc55e11

8
5
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
8
5