Global Forest Watch(GFW)是一种动态的在线森林监测和警报系统,使各地的人们能够更好地管理森林。该存储库包含GFW Web应用程序。

GFW Web应用程序是由NextJ,React和Redux构建的。
克隆回购:
$ git clone https://github.com/wri/gfw.git安装依赖项:
$ yarn将.env.sample复制到.env.local ,然后启动服务器:
$ yarn dev现在,该应用程序现在应在http://0.0.0.0:3000上访问。
我们遵循一个gitflow工作室进行开发和部署。
我们将拉力请求合并到develop中,该请求将自动部署到登台和预生产服务器。为了将功能释放到生产中,我们合并master develop触发自动部署到生产中。
我们使用Heroku部署我们的应用程序。生产将自动部署从master到GlobalForestWatch.org。
我们有两个阶段环境:分期和预生产。两者都是从develop中自动部署的。
主要区别在于,分阶段指向了我们访问的API的登台环境,生产预先制作的点。这是由NEXT_PUBLIC_FEATURE_ENV env变量设置的。
我们还利用Heroku的评论应用程序功能。
创建拉动请求后,Heroku将自动部署一个审核应用程序,并使用NEXT_PUBLIC_FEATURE_ENV进行preproduction ,并自动将指向环境的链接添加到相应的拉动请求中。
我们正在使用GitHub版本来记录应用程序的更改。为了帮助我们管理这一点,我们使用的是Zeit版本,一个用于处理GitHub版本的NPM软件包,标记提交(主要,次要,补丁)以及自动化语义释放日志。有关语义更改的更详细的解释,请参阅这篇文章。
在开发时,您可以按以下方式标记提交: fix some excellent bug (patch)可以使用patch的出色错误(补丁) (major/minor/patch/ignore) 。此提交标题将自动将其分组为版本的正确部分。否则,将在发布期间提示您分配(或忽略)您的每个提交。您将必须为每个提交做到这一点,所以不要忘记南瓜!
那么您如何在GFW上发布?
npx release [type]其中类型可以是major , minor , patch或pre (有关更多详细信息,请参见Zeit Docs)。地图层和相关数据集存储在RW-API中,而globalforestwatch.org/map则利用Layer-Manager渲染它们。
用于设计这些层,传说和定义其互动的模式特定于全球森林手表平台。
在为GFW创建或修改图层/数据集时,请按照API文档标记文件中概述的架构和语法。
要查看GFW特异性层和数据集使用以下端点:
https://api.resourcewatch.org/v1/dataset?app=gfw&cincludes=layer,vocabulary,meTadata&page [size] = 200200
我们使用Browserstack查找和修复跨浏览器问题。