用于go的Elastic Beanstalk Procfile

时间:2017-04-12 04:44:45

标签: amazon-web-services go deployment elastic-beanstalk

我正在尝试使用Elastic Beanstalk将我的go restful服务器程序部署到EC2 Linux。该文档说我需要在根目录下创建一个Procfile。所以我做了。以下是步骤:

  1. 使用

    构建我的go程序myapp.go
    $ go build -o myapp -i myapp.go
    
  2. 使用

    在根目录下创建一个具有确切名称的Procfile
    web: myapp
    
  3. 将Procfile和myapp图像压缩为myapp.zip文件。
  4. 通过Elastic Beanstalk控制台上传到服务器。但我一直通过

    获得Degraded健康和警告
      

    WARN流程终止时间超过10秒。

    任何建议。顺便说一句,我尝试在来自Elastic Beanstalk示例库的简单application.go zip文件中使用相同的procfile过程。它也没有用。

1 个答案:

答案 0 :(得分:2)

我终于能够使用eb client使Go应用程序与Elastic Beanstalk一起部署。 EB需要满足以下条件:

  1. 主文件的名称应为#If we want to remove all 2. ls = [2, 2, 3, 4, 5, 6, 7, 8, 2, 3, 4, 6, 2] # 1-filter takes two arguments(condition,sequence) ls = list(filter(lambda x: x != 2, ls)) # 2-list comprehension ls = [x for x in ls if x != 2]
  2. 确保您的应用正在侦听端口5000。
  3. 您将需要在主根目录中使用Procfile,

    application.go
  4. 您将需要一个带有

    的构建文件
    web: bin/application
    
  5. 最后,您将需要一个make: ./build.sh 文件,

    build.sh

然后,如果您运行#!/usr/bin/env bash # Stops the process if something fails set -xe # All of the dependencies needed/fetched for your project. # FOR EXAMPLE: go get "github.com/gin-gonic/gin" # create the application binary that eb uses GOOS=linux GOARCH=amd64 go build -o bin/application -ldflags="-s -w" (在创建了最初的eb存储库之后),它应该可以工作。我写了一个完整的教程,介绍如何在EB here上部署Gin应用程序。专门介绍使用Elastic Beanstalk进行部署的部分是here