Telegram Group & Telegram Channel
Как организовать конфигурационные параметры в приложении?

Наиболее удобна, имхо, следующая конфигурация конфигов.

Есть, грубо говоря, .env, .env.staging, .env.local

Локально используется .env.local, он в гитигноре, и у каждого разработчика свой. Если работаешь один, или у всех локально одна конфигурация - .env.local не нужен.

При CI/CD .env.staging заменяет .env. При этом используются / добавляются в конфиг (для бэка) нужные секреты. У CI/CD свой конфиг.

Есть два варианта распределения параметров по конфиг файлам.
- Первый - .env хранит основные параметры, а .env.local и .env.staging только переопределяют нужные (merge).
- Второй - в каждом из них хранится полная конфигурация.

У обоих свои плюсы и минусы. Первый - удобней, можно легко добавлять общие конфигурационные параметры и не просить всех разработчиков обновить свой .env.local. Второй - наглядней, при CI/CD можно просто заменять файлы.

Данная система позволяет, например, легко переключиться и поработать на локальном фронтенде со staging бэкендом вместо локального. Можно просто написать скрипт для этого в package.json.

В такой системе никто случайно не запушит свой конфиг в репозиторий, никто не имеет доступа к секретам и чужим параметрам.

env / dotenv - довольно старая штука и недостаточно гибка для реализации удобных конфигов, поэтому я храню конфиги в json / js файлах. Их легко объединять в коде и, вообще, закладывать нужную тебе логику. Ну и древовидная система конфигурационных параметров намного читабельней и удобней в работе в коде.

Доступ к конфигу в приложении:
import { config } from "@/app-config"

#tip #cicd



tg-me.com/vuefaq/685
Create:
Last Update:

Как организовать конфигурационные параметры в приложении?

Наиболее удобна, имхо, следующая конфигурация конфигов.

Есть, грубо говоря, .env, .env.staging, .env.local

Локально используется .env.local, он в гитигноре, и у каждого разработчика свой. Если работаешь один, или у всех локально одна конфигурация - .env.local не нужен.

При CI/CD .env.staging заменяет .env. При этом используются / добавляются в конфиг (для бэка) нужные секреты. У CI/CD свой конфиг.

Есть два варианта распределения параметров по конфиг файлам.
- Первый - .env хранит основные параметры, а .env.local и .env.staging только переопределяют нужные (merge).
- Второй - в каждом из них хранится полная конфигурация.

У обоих свои плюсы и минусы. Первый - удобней, можно легко добавлять общие конфигурационные параметры и не просить всех разработчиков обновить свой .env.local. Второй - наглядней, при CI/CD можно просто заменять файлы.

Данная система позволяет, например, легко переключиться и поработать на локальном фронтенде со staging бэкендом вместо локального. Можно просто написать скрипт для этого в package.json.

В такой системе никто случайно не запушит свой конфиг в репозиторий, никто не имеет доступа к секретам и чужим параметрам.

env / dotenv - довольно старая штука и недостаточно гибка для реализации удобных конфигов, поэтому я храню конфиги в json / js файлах. Их легко объединять в коде и, вообще, закладывать нужную тебе логику. Ну и древовидная система конфигурационных параметров намного читабельней и удобней в работе в коде.

Доступ к конфигу в приложении:
import { config } from "@/app-config"

#tip #cicd

BY Vue-FAQ


Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283

Share with your friend now:
tg-me.com/vuefaq/685

View MORE
Open in Telegram


telegram Telegram | DID YOU KNOW?

Date: |

How Does Bitcoin Work?

Bitcoin is built on a distributed digital record called a blockchain. As the name implies, blockchain is a linked body of data, made up of units called blocks that contain information about each and every transaction, including date and time, total value, buyer and seller, and a unique identifying code for each exchange. Entries are strung together in chronological order, creating a digital chain of blocks. “Once a block is added to the blockchain, it becomes accessible to anyone who wishes to view it, acting as a public ledger of cryptocurrency transactions,” says Stacey Harris, consultant for Pelicoin, a network of cryptocurrency ATMs. Blockchain is decentralized, which means it’s not controlled by any one organization. “It’s like a Google Doc that anyone can work on,” says Buchi Okoro, CEO and co-founder of African cryptocurrency exchange Quidax. “Nobody owns it, but anyone who has a link can contribute to it. And as different people update it, your copy also gets updated.”

A Telegram spokesman declined to comment on the bond issue or the amount of the debt the company has due. The spokesman said Telegram’s equipment and bandwidth costs are growing because it has consistently posted more than 40% year-to-year growth in users.

telegram from ye


Telegram Vue-FAQ
FROM USA