Cloud foundry 将Go lang web项目二进制文件推送到CloudFoundry

Cloud foundry 将Go lang web项目二进制文件推送到CloudFoundry,cloud-foundry,predix,Cloud Foundry,Predix,我们是否可以将Go web服务二进制文件部署/推送到Cloud Foundry,而不是推送到codebase并在那里构建?如果可以,那怎么办?我试图找到任何相关的东西,但什么也找不到 提前感谢Go,您可以像其他应用一样将二进制文件而不是代码推送到cloud foundry 这里有一个围棋。它展示了如何使用大厅管道来构建和推送应用程序。您可以跳过ci/cd特性。只需编译代码并执行cf push 下面是另一个可能有帮助的例子 我们是否可以将GO web服务二进制文件部署/推送到CloudFound

我们是否可以将Go web服务二进制文件部署/推送到Cloud Foundry,而不是推送到codebase并在那里构建?如果可以,那怎么办?我试图找到任何相关的东西,但什么也找不到


提前感谢Go,您可以像其他应用一样将二进制文件而不是代码推送到cloud foundry

这里有一个围棋。它展示了如何使用大厅管道来构建和推送应用程序。您可以跳过ci/cd特性。只需编译代码并执行
cf push

下面是另一个可能有帮助的例子

我们是否可以将GO web服务二进制文件部署/推送到CloudFoundry,而不是推送到那里进行代码库和构建

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

如果可以,那怎么办

不要使用Go build包。它需要代码,并将尝试为您编译它

取而代之的是,在Linux机器、VM或w/Docker上按照通常的方式构建。为了获得最佳兼容性,请使用与CF平台上的堆栈匹配的系统(运行
CF stacks
查看)。撰写本文时的默认堆栈是基于Ubuntu 14.04 Trusty的
cflinuxfs2
。您还可以使用
cloudfoundry/cflinuxfs2
docker图像

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

例如:
cf push-b binary\u buildpack-c./my\u binary\u name'


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

如果我错了,请更正,
cf push
将推送整个代码库并在cf中编译代码,与java不同,它创建的二进制文件依赖于机器和操作系统架构以及平台,所以如果我在mac上编译并将该二进制文件推送到CF,它将如何工作@askXrefer这个链接说它部署了整个代码库。你可能会把登台过程和应用程序编译混淆了。在
cf push
上,我传递存档详细信息(jar、war、zip或文件夹位置)和可选的要使用的构建包。无关的文件和工件被排除在上传之外。作为过渡过程的一部分,Cloud Foundry将根据需要下载运行时依赖项(例如,nodejs应用程序,它将下载软件包)。请参阅登台流程Kamal,就构建二进制文件而言,您可以在mac上为任何平台的GO应用程序构建二进制文件。$>OOS=windows go build-o.exe$>OOS=linux go build-o$>OOS=linux go build-o,然后在相应的归档文件上执行
cf推送