cloud foundry vmc push应用时NoMethodError: undefined method `buildpack' for #<CFoundry::V1::App 'hello'

本文解决了一个在使用Cloudfoundry VMC部署应用程序时遇到的错误:NoMethodError: undefined method `buildpack' for #<CFoundry::V1::App。此问题是由于manifests-vmc-plugin包中的bug导致,该包尝试访问不存在于V1 App对象中的buildpack属性。解决方案涉及检查App对象是否响应此方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、问题描述

cloud foundry vmc push应用时NoMethodError: undefined method `buildpack' for #<CFoundry::V1::App 'hello'

2、问题分析

造成此问题的原因在于manifests-vmc-plugin-0.6.3.rc2的一个bug。此包会根据用户设定生成部署的manifest以便在日后部署能够自动进行大多数步骤。然而,由于V1版App对象没有buildpack属性(见cfoundry-0.5.3.rc7/lib/cfoundry/v1/app.rb),而在manifests-vmc-plugin中会根据此属性生成manifest文件(代码见https://github.com/cloudfoundry/manifests-vmc-plugin/blob/master/lib/manifests-vmc-plugin.rb#L189).解决此问题的方法是将此行改为

if app.respond_to?("buildpack") and buildpack = app.buildpack

3、修改此bug后重新vmc push即可


原帖链接http://tiewei.github.io/cloudfoundry/Workflow-of-Push-App-in-Cloud-Foundry-v1/



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值