cf push - 如何使用CloudFoundry更新/推送所选文件(已修改的文件)

时间:2015-10-19 10:05:04

标签: ibm-cloud cloudfoundry

每次推送整个代码都非常耗时,这不是一个好习惯。

如何执行增量推送?有办法吗?

2 个答案:

答案 0 :(得分:2)

扩展@jimmc评论:

Cloud Foundry客户端(CLIJava Client等)会自动执行应用程序位的增量推送。以下是它的工作原理:

当为CF客户端提供要推送的目录时,它会获取目录和所有子目录中的文件列表。当客户端被提供存档(.jar,.war,.zip)以进行推送时,它会在客户端计算机上本地爆炸存档。只展开存档的第一级,任何嵌入式存档(例如.war文件中的.jar文件)都不会爆炸。然后,它会获取展开的存档中的文件列表。

然后,客户端为每个文件计算SHA,并将带有SHA的文件列表发送到CF resource matching API。 CF将回复它已经拥有的文件列表(例如,来自之前的推送)。然后,客户端仅发送CF尚未拥有的文件。

答案 1 :(得分:1)

push应该能够同步:

  

$ cf p -h
      名称:
         推送 - 推送新应用或将更改同步到现有应用

但是默认情况下,cf push递归推送当前工作目录的内容。

  

注意:如果要推送多个文件,而不是整个文件   目录的内容,考虑使用.cfignore文件来告诉cf   推动排除什么


示例.cfignore文件内容:

tmp /
log /
my_unnecessary_file.txt

执行下一个cf push以部署应用程序时,它将省略.cfignore文件中列出的文件和目录。


此致