我们对所有推送的 git 分支使用 Netlify 的自动部署。
我们希望仅包含主分支的分析脚本(等),即我们的用户正在访问的网站版本。
可以在 Netlify 上构建环境变量,但我不知道是否可以区分某些分支的变量?
我们对所有推送的 git 分支使用 Netlify 的自动部署。
我们希望仅包含主分支的分析脚本(等),即我们的用户正在访问的网站版本。
可以在 Netlify 上构建环境变量,但我不知道是否可以区分某些分支的变量?
有一种方法可以根据文件中 Netlify 中的部署上下文设置环境变量netlify.toml
。这在使用 Hugo 的生产站点中使用,但您可以使用任何您想要的变量和命令键。
netlify.toml
# Global settings applied to the whole site.
[build]
command = "yarn build"
publish = "public"
# build a preview of the site (Drafts and Future dates also)
[context.deploy-preview]
command = "yarn build:preview"
[build.environment]
HUGO_ENV = "development"
[context.production.environment]
HUGO_VERSION = "0.29"
HUGO_ENV = "production"
# you can lock a version of hugo for a deploy preview
[context.deploy-preview.environment]
HUGO_VERSION = "0.29"
HUGO_ENV = "deploy" # TEST: should be deploy or something other than production
# you can lock a version of hugo for a branch-deploy (other than previews)
[context.branch-deploy.environment]
HUGO_VERSION = "0.30"
HUGO_ENV = "development"
还针对特定分支(例如:new-branch)
# build a preview of the site (Drafts and Future dates also)
[context.new-branch]
command = "yarn build:preview"
# you can also target a specific branch
[context.new-branch.environment]
HUGO_VERSION = "0.29"
HUGO_ENV = "deploy" # TEST: should be deploy or something other than production
解决方案:现在将有一个名为的环境变量HUGO_ENV
,它具有一个值来了解定义的上下文(生产、开发、部署)。构建语言现在可以访问这些变量来决定构建结果中包含的内容。
笔记:
getenv
检索值的功能。context.branch-deploy
影响针对自定义分支,所以要小心覆盖这些上下文。netlify.toml
覆盖在 Netlify 站点上的浏览器控制台中输入的环境变量中指定的任何变量。