2

Can we deploy/push our Go web service binary to Cloud Foundry, instead of pushing codebase and build there? If we can then how? I tried to find anything related but could not find anything.

Thanks in advance

4

2 回答 2

4

我们可以将我们的 GO Web 服务二进制文件部署/推送到 CloudFoundry,而不是推送代码库并在那里构建吗?

是的。您可以推送任何二进制文件,只要它以兼容的方式编译,并且附带任何库依赖项(不包含在根文件系统中)。构建兼容的二进制文件通常是棘手的部分,但对于 Golang 应用程序,我认为它不应该那么难。

如果可以的话怎么办?

不要使用 Go 构建包。它需要代码,并会尝试为您编译它。

相反,像往常一样构建,但在 Linux 机器、VM 或 w/Docker 上进行。为了获得最佳兼容性,请使用与您的 CF 平台上的堆栈匹配的系统(运行cf stacks查看)。撰写本文时的默认堆栈是cflinuxfs2,它基于 Ubuntu 14.04 Trusty。您还可以使用cloudfoundry/cflinuxfs2docker 映像。

然后使用二进制构建包推送生成的二进制文件。

https://docs.cloudfoundry.org/buildpacks/binary/index.html

前任: cf push -b binary_buildpack -c './my_binary_name'

您可能还需要-p指明二进制文件所在的文件夹/路径,否则cf push将从当前目录发送所有内容。

于 2017-02-22T22:22:34.753 回答
0

对于 Go,您将二进制文件而不是代码推送到云代工厂,就像任何其他应用程序一样。

这是Go中的示例应用程序。它展示了如何使用大厅管道来构建和推送应用程序。您可以跳过 ci/cd 方面。只需编译代码并执行cf push.

这是另一个可能有帮助的示例 https://blog.anynines.com/how-to-deploy-a-go-app-on-anynines-and-cloud-foundry/

于 2017-02-21T14:44:20.853 回答