从Jenkins CF-AppResourcesFileModeInvalid(160003)推送时,Cloud Foundry插件抛出错误

时间:2017-08-31 16:27:11

标签: plugins cloud cloudfoundry

我正试图将应用程序推向Jenkins的云代工厂。它抱怨这个:

org.cloudfoundry.client.v2.ClientV2Exception: CF-AppResourcesFileModeInvalid(160003): The resource file mode is invalid: File mode '444' with path '.git/objects/pack/pack-af4cdbe6faac9d245253dafc1ecae06dc3fa5816.pack' is invalid. Minimum file mode is '0600'
    at org.cloudfoundry.util.JobUtils.getError(JobUtils.java:81)
    at reactor.core.publisher.MonoThenMap$ThenMapMain.onNext(MonoThenMap.java:120)
    at reactor.core.publisher.FluxFilter$FilterSubscriber.onNext(FluxFilter.java:96)

我试过了:

1.Doing chmod 666 ( and even 777) before the build step. 
2.Adding these in my .cfignore:
  scripts
.git/
.git/objects/pack/*
plugins/**/*
/.bundle
tmp/
.pack
  1. 在另一次尝试之前擦除jenkins中的工作区和cf上的应用程序。
  2. 没有任何作用。 一个有趣的事情是在重新提交.cfignore(编辑一行并推送到git)之后,jenkins中的第一个构建工作。后续构建失败。

    有任何帮助吗? 谢谢!

1 个答案:

答案 0 :(得分:0)

根本问题是Cloud Foundry Java Client将配置路径的全部内容推送到服务器。 Cloud Foundry CLI会自动过滤出源控制目录(可能还有所有隐藏目录),这会过滤掉最常见的地方以查看< 0600,但实际上并未在任何地方记录,因此我们无法匹配该行为。我和CLI的主管聊过,他们会记录we’ll implement what they spec的行为。

.cfignore文件在客户端中也不起作用,但一旦CLI团队正确指定,我们也会that issue工作。