3

現在、wercker を使用して Go アプリケーションを Heroku にデプロイしようとしています。Heroku は、main.go がリポジトリのルート ディレクトリにあることを期待していますが、可能であれば、リポジトリ ディレクトリを次のようにしたいと考えています。

project/
  cmd/
    my-server/
      main.go
  lib1/
  lib2/
  Procfile
  ...

理想的には、Procfile は次のようになります。

web: my-server -port $PORT

この記事を読みましたが、wercker Go ボックスを使用して Heroku にデプロイしているため、これを構成する最善の方法がわかりません。このようなアプリケーションのデプロイに成功した人はいますか?

4

2 に答える 2

5

Go プロジェクトにファイル構造を使用しているgodepため、ビルド プロセスに使用できず、処理が大幅に遅くなります。

これを考えると、必要なのは.godir、プロセスが存在するモジュール名を指定する を作成することです。

.godir次の内容でファイルを作成します。

project/cmd/my-server

そして、Profile をそのままにしておきます。

web: my-server -port $PORT

Go カスタム ビルドパックを使用する必要があることは言うまでもありません: https://github.com/kr/heroku-buildpack-go.git

この.godirファイルを使用すると、アプリケーションをプッシュおよびデプロイできます。

godepカスタム ビルドパックの使用方法の詳細については、このガイド [1] を参照してください。

[1] http://mmcgrana.github.io/2012/09/getting-started-with-go-on-heroku.html

于 2014-11-28T15:50:00.033 に答える
0

私のために働いたのは

godep save ./cmd/...

次に、vendor フォルダー内のすべてのものをリポジトリに追加します。

于 2016-12-23T01:38:47.630 に答える