Спасибо, makozaki, это хороший совет, но есть некоторые особые требования:
Сначала go к вашему проекту ⇒ Настройки ⇒ CI / CD ⇒ Переменные и добавьте их следующим образом:
Key
будет преобразовано в имя файла, а введенные вами значения будут как данные внутри этого файла.
в Job-Logs
CI -Процесс он обеспечивает полный путь к вашему новому сгенерированному файлу ... он выглядит следующим образом: ENV_PRODUCTION: '/builds/yourProjectGroup/gatsby_netlifycms_starter.tmp/ENV_PRODUCTION',
Уведомление
вы не можете выбрать простой способ и назовите его .env.production
, чтобы использовать его с dotenv
Поскольку поле ключа не позволяет использовать специальные символы, такие как .
,
Теперь, когда вы получили File
Со всеми вашими значениями конфигурации вы можете легко реализовать это в своем Приложении (например, с помощью dotenv).
Для моей реализации Gatsby это выглядит так.
require("dotenv").config({
path: process.env.ENV_PRODUCTION ? process.env.ENV_PRODUCTION : `.env.${process.env.NODE_ENV}`,
})
const config = require('gatsby-plugin-config').default;
Что здесь происходит? Dotenv.config () проверяет, существует ли созданный вами самостоятельно ENV_PRODUCTION ... если да, он будет использован. В противном случае он будет использовать общий .env.<yourNodeEnviroment>
один.
Таким образом, с помощью указанных выше значений в ENV_PRODUCTION
вы можете получить доступ к FIRST_VALUE
в вашем приложении.
Таким образом, это легко иметь .env.development
для запуска приложения на локальном компьютере и использовать ENV_PRODUCTION
env от Gitlab на производстве.