M. *_*awy 2 command-line-interface cloud-foundry ibm-cloud
我正在尝试使用cf CLI将index.html页面上传到Bluemix.我不确定我是否以正确的心态接近这一点.我正在考虑上传这个HTML文件,就像我们通常使用普通的托管服务一样,通过FTP.使用Bluemix我假设我应该使用cf中的命令并将其视为应用程序.这是正确的吗?pushindex.html
如果这是正确的,我没有得到如何使用此命令.你能给我一个推送/上传这个页面的完整命令的例子吗?
小智 9
该cf push命令将用于将您的应用程序"上传"到Bluemix服务器.但是,它不仅仅是上传.在Bluemix中有一个运行时或构建包的概念,这个想法是运行应用程序的运行时.因此,如果您上传了Java应用程序,则应将其与Java Liberty Buildpack/runtime配对.如果您上传了PHP应用程序,那么您将它与PHP buildpack配对.
如果您只推送一个没有buildpack的HTML文件,那么您可能会收到错误消息,指示无法确定buildpack.Bluemix尝试根据上传的文件类型猜测所需的buildpack类型,然后从内部缓存中提取buildpack.该cf push命令允许您显式声明要使用的buildpack,-b因此没有猜测工作,也不需要仅依赖Bluemix当前知道的buildpack.
在您的情况下,对于静态HTML文件,您需要某种类型的http服务器,如nginx作为"运行时".请注意,Bluemix目前没有内置的buildpack,所以你必须从其他地方获取它.已经有一些buildpacks可用,但最好使用的是这一个:https://github.com/cloudfoundry-community/staticfile-buildpack.要使用它,只需在应用程序的根目录中为该url提供命令-b选项,cf push即
cf push yourappname -b https://github.com/cloudfoundry-community/staticfile-buildpack
yourappname将是您的网站/应用程序的URL的一部分对于一个实际的例子,我们将上传您index.html存在于文件夹中的内容C:\Users\XYZ\Documents\projects\ProjectHelloWorld,我们将调用此应用程序HelloWorld.这是我们要做的:
C:\> cd C:\Users\XYZ\Documents\projects\ProjectHelloWorld
C:\Users\XYZ\Documents\projects\ProjectHelloWorld> cf push HelloWorld -b https://git
hub.com/cloudfoundry-community/staticfile-buildpack
Run Code Online (Sandbox Code Playgroud)
然后,Bluemix会将该本地目录中的所有内容上传到服务器,并从URL位置获取buildpack并使用buildpack转移应用程序代码,然后Bluemix将尝试启动该应用程序.这是push命令成功时Bluemix输出的示例:
Creating app HelloWorld in org xyz@gmail.com / space test as xyz@gmail.com...
OK
Creating route HelloWorld.mybluemix.net...
OK
Binding HelloWorld.mybluemix.net to HelloWorld...
OK
Uploading HelloWorld...
Uploading app files from: C:\Users\XYZ\Documents\projects\ProjectHelloWorld
Uploading 1M, 21 files
Done uploading
OK
Starting app HelloWorld in org xyz@gmail.com / space test as xyz@gmail.com...
-----> Downloaded app package (960K)
Cloning into '/tmp/buildpacks/staticfile-buildpack'...
grep: Staticfile: No such file or directory
-----> Using root folder
-----> Copying project files into public/
-----> Setting up nginx
grep: Staticfile: No such file or directory
-----> Uploading droplet (3.4M)
1 of 1 instances running
App started
OK
Showing health and status for app HelloWorld in org xyz@gmail.com / space
test as xyz@gmail.com...
OK
requested state: started
instances: 1/1
usage: 1G x 1 instances
urls: HelloWorld.mybluemix.net
last uploaded: Tue Nov 25 14:50:44 +0000 2014
Run Code Online (Sandbox Code Playgroud)
更多细节: