作品部署
作品部署是作品开发中的一个关键阶段,它涉及将一个产品从开发环境转移到生产环境,使其可以供最终用户使用。部署过程通常包括了配置、安装、测试等步骤,以确保产品能够在目标环境中正常运行。
常规部署
不需要依赖后端服务器进行动态处理,由HTML、CSS、JavaScript等静态资源组成的作品,通常叫做静态网站,静态网站的部署相对简单,一般可以通过以下步骤进行:
- 编写网站:编写网站所需的HTML、CSS、JavaScript等静态文件。
- 部署到服务器:将编写好的网站文件上传到服务器上,可以使用FTP工具进行上传,或者使用git之类的工具上传。
- 配置域名和DNS:将网站域名绑定到服务器IP地址上,并在DNS管理后台进行相应的解析配置。
- 配置Web服务器:在Web服务器上配置网站,一般可以使用Nginx、Apache等Web服务器软件进行配置。
- 配置SSL证书:为了保证网站的安全性,可以为网站配置SSL证书,使网站使用HTTPS协议进行访问。
- 测试网站:通过访问网站,测试网站是否正常运行,并根据需要进行调整和优化。
需要注意的是,静态网站不支持动态页面和数据库交互等功能,如果需要实现这些功能,需要使用后端服务器进行开发。此外,静态网站也需要进行定期的更新和维护,保证网站的正常运行和安全性。
使用Github Pages进行部署
Github网站可能存在网络环境不稳定、无法访问或超时的问题。
- 在使用 Github Pages 服务之前,需要注册 Github 账号,并创建仓库,确保仓库根目录下或者
./docs
存在index.html
文件。 - 进入仓库设置页面,选择仓库分支,开启 Pages 服务。
- Github Pages 需要在 Github 仓库的根目录或者
./docs
目录下,存在index.html
页面,然后启动Pages服务即可。
之后,当仓库内容发生改动时,Github会自动重新部署网站内容。Github Pages 服务还允许自定义域名。
Github Pages 服务的优点在于操作便捷,自动更新,缺点是在国内访问是速度受限。
使用Gitee.com的Pages进行部署
Gitee.com提供了类似与Github Pages的服务,但需要用户仓库为公开,且还要通过实名认证。Gitee.com的Pages服务免费版无法自动更新,需要用户手工重新部署。
尽管 Gitee.com 存在一些不便,但由于其服务器位于国内,因此拥有访问速度快的优势。值得一提的是,Gitee.com 是国内最大的 Git 代码托管平台之一,提供了丰富的功能和工具,例如团队协作、版本控制、CI/CD 自动化构建等。此外,Gitee.com 还拥有完善的中文文档和技术支持,方便用户快速上手并解决问题。虽然有一些不足之处,但总体来说,Gitee.com 在国内开发者中颇受欢迎,并为他们带来了很多便利。
截止目前(2023年),Gitee提供的pages服务的内容审查工作非常严格,对开发者很不友好。
使用OSS的静态页面托管服务进行部署
使用OSS的静态页面托管服务,是非常不错的部署方案,详见使用OSS托管静态网站。
使用Github Actions自动化部署内容到OSS
使用OSS的静态页面托管服务时,需要人工或借助代码将文件复制或更新到存储空间,大多数情况下,不是很方便。因此,可借助于Github Actions服务,实现内容修改后自动化部署到OSS。
原理图如下:
Actions的脚本可参考下面内容:
name: deploy to aliyun oss
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
# 获取最新代码
- uses: actions/checkout@v1
# 设置阿里云OSS的 id/secret,存储到 github 的 secrets 中
- name: setup aliyun oss
uses: manyuanrong/setup-ossutil@master
with:
endpoint: oss-ap-southeast-1.aliyuncs.com
access-key-id: ${{ secrets.OSS_KEY_ID }}
access-key-secret: ${{ secrets.OSS_KEY_SECRET }}
# 同步静态文件到aliyun OSS
- name: cp files to aliyun
run: ossutil sync website/docs/ oss://yangzh-cn/ -u --delete
这样,用户将内容推送到Github的仓库时,可出发Github Action运行指定脚本,进而实现自动化部署。