众志成城,共抗疫情,共克时艰
在 丁香园肺炎疫情实时动态 中提供了疫情地图及实时权威新闻,但其中并没有省市地图。我在每天闭门不出为国家做贡献的同时,对疫情地图做了简单的扩展,也为抗击肺炎做一点力量,旨在帮助大家更加直观了解自己家乡的情况。
链接地址在 https://ncov.shanyue.tech,可在左下角点击阅读原文打开连接。以下是山西疫情的截图,目前还偏粗糙。
开发
项目地址: https://github.com/shfshanyue/2019-ncov
下面简述下开发流程,有兴趣的同学可以去 github 查看代码
数据来源
数据爬自丁香园,使用脚本 build-origin.js
获取数据
部署
使用 github actions
与 alioss
自动部署,每半个小时部署一次(为了获取最新数据)。
部署配置文件
name: deploy to aliyun oss
on:
push:
barches:
- master
schedule:
- cron: '*/30 * * * *'
jobs:
build:
runs-on: ubuntu-latest
steps:
# 切代码到 runner
- uses: actions/checkout@v1
with:
submodules: true
# 使用 node:10
- name: use Node.js 10.x
uses: actions/setup-node@v1
with:
node-version: 10.x
# npm install
- name: npm install
run: npm install
- name: build data
run: node build-origin.js
- name: build site
run: npm run build
# 设置阿里云OSS的 id/secret,存储到 github 的 secrets 中
- name: setup aliyun oss
uses: manyuanrong/setup-ossutil@master
with:
endpoint: oss-cn-beijing.aliyuncs.com
access-key-id: ${{ secrets.OSS_KEY_ID }}
access-key-secret: ${{ secrets.OSS_KEY_SECRET }}
- name: 删除冗余文件
run: ossutil rm oss://shanyue-ncov/static -rf
if: github.event_name == 'schedule'
- name: cp files to aliyun
run: ossutil cp -rf build oss://shanyue-ncov/
- name: set no-cache in index.html
run: ossutil set-meta oss://shanyue-ncov/index.html cache-control:"no-cache" --update -rf
- name: set long term cache
run: ossutil set-meta oss://shanyue-ncov/static cache-control:"max-age=31536000" --update -rf
最后,武汉加油!