变脸式应用 / H5应用发布上线

H5应用发布上线

上一章介绍了H5应用的编译优化,生成了发布目录,配置好WEB服务器后,将发布目录上传到服务器即可完成发布。

为了H5应用程序升级后客户能及时更新,建议将H5应用的主html文件及逻辑页面文件夹下html/js文件的缓存策略设置为”no-cache”。
(在开发环境下,一般建议所有文件都设置为不缓存。)

建议使用Apache或nginx作为筋斗云H5应用线上生产环境的WEB服务器。
项目下已有专为这两种服务器的配置,即为Apache用的.htaccess文件,以及为nginx准备的.ht.nginx文件。

[任务]

配置Web服务器,访问H5应用,在Chrome浏览器的网络监控中查看请求,要求:

  • H5应用的index.html文件,以及逻辑页如page/home.html, page/home.js文件,HTTP响应中设置了”no-cache”策略。
    当再次刷新应用时,HTTP响应为”304 Not Modified”(确保Chrome网络监控页面下的”Disable cache”选项未勾选)。
  • 其它js/css文件,HTTP响应中未设置”no-cache”策略,再次刷新H5应用时,不访问服务器。

示例如下:

如果使用Apache服务器,应配置项目下允许.htaccess文件,比如

<Directory /var/www/html/myproject>
    AllowOverride All
</Directory>

如果使用nginx,可以把项目下的.ht.nginx文件包含到nginx的主配置文件中。注意一些路径可能需要修改。

如果使用其它WEB服务器(如IIS),应手工作相应的配置。

此外,对所有html/css/js这些文本文档都应设置gzip压缩,注意图片文件一般不设置gzip压缩,因为图片有自己的压缩算法。

自动化差量发布

[任务]

编写和运行项目下的build_web.sh文件做为上线工具,运行它实现自动编译和将新近修改的内容上线。

如果希望每次修改一些内容后,可以快速将差异部分上线,不必每次都上传所有文件,可以使用筋斗云自带的上线工具。

筋斗云框架支持WEB应用自动化发布,并可差量更新。
目前差量更新依赖git工具,要求源目录及编译生成的发布目录均使用git管理,每次只上传与线上版本差异的部分。
本章详细介绍可参考官方文档”webcc”中的”jdcloud-build”模块。

自动化发布支持ftp/git两种方式,前者只需服务器提供ftp上传帐号,后者需要服务器提供git-push权限。
本章介绍git方式,安全可靠且版本可任意回溯。ftp方式只需修改若干参数,可参考官方文档。

我们的示例项目名为myproject,已使用git管理。
先创建发布版本库(又称online版本库), 使用git管理,定名称为myproject-online,习惯上与目录myproject放在同一父目录下:

$ git init myproject-online

在线上服务器上设置ftp帐号或git帐号。使用git发布时,一般配置好用ssh证书登录,避免每次上线时输入密码。

将tool/git_init.sh上传服务器,用它创建线上目录:

$ git_init.sh myproject

编写项目根目录下的build_web.sh脚本:

#!/bin/sh

export OUT_DIR=../myproject-online
export GIT_PATH=www@myserver:myproject
tool/jdcloud-build.sh

在Windows平台上,打开git shell运行build_web.sh即可上线。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值