如何在Amazon EC2上部署Go程序而不在EC2上编译它?

时间:2018-08-07 04:04:18

标签: go amazon-ec2 deployment

我正在寻找一种在Amazon EC2上部署go二进制文件的方法。目前,我发现的所有教程(12)都在说明如何在ec2上移动go源码并在那里进行编译。

出于某些原因,这不是我要查找的内容。其中:

  • 我不想复制所有来源
  • 我不想安装无关的二进制文件(进行编译器和其他操作)

我认为这是不必要的,因为go具有cross-compile binaries的功能。我认为最好在本地构建二进制文件并将其上传到ec2。

我在这里错过了什么吗,我的方法是否存在任何隐患?还是有更好的方法?

P.S。如果此问题更适合于serverfault,请让我知道或将其移到那里。

1 个答案:

答案 0 :(得分:8)

你是对的。 Go的卖点之一是交叉编译为一个二进制文件。最好在localhost进行编译,然后将其复制到您的服务器中。

$ GOOS=linux GOARCH=amd64 go build -o my_app .
$ scp my_app ec2@ip:~