登录
首页 >  Golang >  Go问答

如何将 GoLang 二进制文件部署到 CF

来源:stackoverflow

时间:2024-04-16 22:45:34 366浏览 收藏

有志者,事竟成!如果你在学习Golang,那么本文《如何将 GoLang 二进制文件部署到 CF》,就很适合你!文章讲解的知识点主要包括,若是你对本文感兴趣,或者是想搞懂其中某个知识点,就请你继续往下看吧~

问题内容

您好,我们正在尝试将 golang 二进制文件部署到 cf。

例如 main.exe 与 mainfest 文件一起位于 /deploy/ 文件夹中

注意:还观察到,如果我们推送整个项目应用程序,那么它就可以工作。但如果我们尝试仅推送二进制文件,则会收到以下错误

清单文件包含以下信息

applications:
    - name: test-app
      command: test-app
      env:
        go_install_package_spec: ./



**error** to use go native vendoring set the $gopackagename
          environment variable to your app's package name
          **error** unable to determine import path: gopackagename unset

添加 gopackagename: main 后,因为 main.exe 是我们的二进制名称,我们收到以下错误

Failed to compile droplet: Failed to run finalize script: exit status 12
   Cell 507b6e9c-c5c5-4685-9a71-d7cc1c876f5a stopping instance 6a92ff73-76ec-4baf-8a3e-54b54cfa307e
BuildpackCompileFailed - App staging failed in the buildpack compile phase

正确答案


感谢@volker 指出

对于上述问题:

首先我们必须使用以下命令进行构建(使用 make 文件)

goos="linux" go build main.go

然后将该主二进制文件复制到 /deploy 文件夹

然后在部署文件夹中清单文件

applications:
    - name: test-app
      command: ./main
      stack: cflinuxfs3
      buildpacks:
        - https://github.com/cloudfoundry/binary-buildpack.git

然后推送到cf

cf push -f ./manifest-template.yml

以上就是《如何将 GoLang 二进制文件部署到 CF》的详细内容,更多关于的资料请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>