文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
四、部署静态网站
- 全部配置 https://github.com/serverless-components/tencent-website/blob/master/docs/configure.md
- 部署文档 https://cloud.tencent.com/document/product/1154/39276
部署的静态资源会存储到 COS 中
4.1 sls 部署 vue 项目
初始化项目
vue init webpack vue-demo
编写 serverless.yml
# https://github.com/serverless-components/tencent-website/blob/master/docs/configure.md # https://cloud.tencent.com/document/product/1154/39276 component: website # (必填) 引用 component 的名称,当前用到的是 tencent-website 组件 name: vue-demo # (必填) 该 website 组件创建的实例名称 app: vue-demo # (可选) 该 website 应用名称 stage: dev # (可选) 用于区分环境信息,默认值是 dev inputs: src: # 部署项目的目录路径 src: ./ dist: ./dist # build 完成后输出目录,如果配置 hook, 此参数必填 index: index.html # 网站主页入口文件 error: 404.html # 网站错误入口文件 hook: npm run build # 构建命令,在代码上传之前执行 # websitePath: ./ region: ap-guangzhou bucketName: vue-test-demo # OSS 存储桶名称 protocol: https replace: false # 是否覆盖式部署 ignoreHtmlExt: false # 是否是否忽略 html 扩展名,默认 false disableErrorStatus: false # 是否禁用错误码,默认 false autoSetupAcl: true # 自动配置 bucket 访问权限为 ”公有读私有写“ autoSetupPolicy: false # 自动配置 bucket 的 Policy 权限为 ”所有用户资源可读“ # env: # 配置前端环境变量 # API_URL: https://api.com # hosts: # - host: test.com # 自定义域名 # async: false # 是否同步等待 CDN 配置。配置为 false 时,参数 autoRefresh 自动刷新才会生效,如果关联多域名时,为防止超时建议配置为 true。 # autoRefresh: true #开启自动 CDN 刷新,用于快速更新和同步加速域名中展示的站点内容
执行部署
sls deploy
如果希望查看更多部署过程的信息,可以通过 sls deploy --debug
命令查看部署过程中的实时日志信息
开发调试
部署了静态网站应用后,可以通过开发调试能力对该项目进行二次开发,从而开发一个生产应用。在本地修改和更新代码后,不需要每次都运行 serverless deploy
命令来反复部署。您可以直接通过 serverless dev
命令对本地代码的改动进行检测和自动上传。
- 可以通过在
serverless.yml
文件所在的目录下运行serverless dev
命令开启开发调试能力。 serverless dev
同时支持实时输出云端日志,每次部署完毕后,对项目进行访问,即可在命令行中实时输出调用日志,便于查看业务情况和排障。
查看状态
在 serverless.yml
文件所在的目录下,通过如下命令查看部署状态:
serverless info
移除
在 serverless.yml
文件所在的目录下,通过以下命令移除部署的静态网站 Website
服务。移除后该组件会对应删除云上部署时所创建的所有相关资源。
$ serverless remove
和部署类似,支持通过 sls remove --debug
命令查看移除过程中的实时日志信息
4.2 sls 部署 react 项目
初始化项目
npm i create-umi -g create-umi react-demo
编写 serverless.yml
# https://github.com/serverless-components/tencent-website/blob/master/docs/configure.md # https://cloud.tencent.com/document/product/1154/39276 component: website # (必填) 引用 component 的名称,当前用到的是 tencent-website 组件 name: react-demo # (必填) 该 website 组件创建的实例名称 app: react-demo # (可选) 该 website 应用名称 stage: dev # (可选) 用于区分环境信息,默认值是 dev inputs: src: # 执行目录路径 src: ./ dist: ./dist # 部署目录路劲 index: index.html # 网站主页入口文件 error: 404.html # 网站错误入口文件 hook: npm run build # 构建命令,在代码上传之前执行 region: ap-guangzhou bucketName: react-test-demo # OSS 存储桶名称 protocol: https replace: false # 是否覆盖式部署 ignoreHtmlExt: false # 是否是否忽略 html 扩展名,默认 false disableErrorStatus: false # 是否禁用错误码,默认 false autoSetupAcl: true # 自动配置 bucket 访问权限为 ”公有读私有写“ autoSetupPolicy: false # 自动配置 bucket 的 Policy 权限为 ”所有用户资源可读“ # env: # 配置前端环境变量 # API_URL: https://api.com # hosts: # - host: test.com # 自定义域名 # async: false # 是否同步等待 CDN 配置。配置为 false 时,参数 autoRefresh 自动刷新才会生效,如果关联多域名时,为防止超时建议配置为 true。 # autoRefresh: true #开启自动 CDN 刷新,用于快速更新和同步加速域名中展示的站点内容
实时监控项目部署
sls dev
4.3 sls 部署 vuepress 项目
编写 serverless.yml 配置
# https://github.com/serverless-components/tencent-website/blob/master/docs/configure.md # https://cloud.tencent.com/document/product/1154/39276 component: website # (必填) 引用 component 的名称,当前用到的是 tencent-website 组件 name: vuepress-demo # (必填) 该 website 组件创建的实例名称 app: vuepress-demo # (可选) 该 website 应用名称 stage: dev # (可选) 用于区分环境信息,默认值是 dev inputs: src: src: .vuepress # (必填) .vuepress 源文件夹路径 dist: .vuepress/dist # 部署目录路径 index: index.html # 网站主页入口文件 error: 404.html # 网站错误入口文件 hook: npm run build # 构建命令,在代码上传之前执行 region: ap-guangzhou bucketName: vuepress-test-demo # OSS 存储桶名称 protocol: https replace: false # 是否覆盖式部署 ignoreHtmlExt: false # 是否是否忽略 html 扩展名,默认 false disableErrorStatus: false # 是否禁用错误码,默认 false autoSetupAcl: true # 自动配置 bucket 访问权限为 ”公有读私有写“ autoSetupPolicy: false # 自动配置 bucket 的 Policy 权限为 ”所有用户资源可读“ # hosts: # - host: test.com # 自定义域名 # async: false # 是否同步等待 CDN 配置。配置为 false 时,参数 autoRefresh 自动刷新才会生效,如果关联多域名时,为防止超时建议配置为 true。 # autoRefresh: true #开启自动 CDN 刷新,用于快速更新和同步加速域名中展示的站点内容
执行部署
sls deploy
移除
sls remove
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论