관리 메뉴

프론트엔드 정복하기

env, shell 개념 본문

IT 지식

env, shell 개념

GROWNFRESH 2022. 2. 6. 18:16

사용 목적

- 비밀 설정 정보 관리

  DB connection, API Key 등 비밀 정보가 노출되지 않도록 별도 관리가 필요함

 

유의점

.env 는 암호화된 파일이 아니다. 조회/수정 모두 가능하다.

따라서 .gitingnore 를 통해 해당 파일이 버전 관리 되지 않도록 해야 한다.

 

.json, Object 등을 사용하지 않고 왜 굳이 .env 를 사용하는 것일까?

- .json 단점

  - 파싱 작업이 들어가야 한다.

  - 데이터가 추가될 때마다 set 해줘야 한다.

- .env 장점

  - 배포 시 Shell 로 변경이 가능하여 수정이 용이하고, ShellScript(?) 를 이용해 SSH, CI/CD 에서 활약을 기대할 수 있다.

  - express 에서는 NODE_ENV 라는 환경변수를 통해 개발환경과 운영환경에 따른 설정정보를 다르게 가져올 수 있다.

 

 

사용법

dotenv 를설치한다.

.env  /  .env.dev  파일 생성

 

프로젝트 내에서 process.env. 으로 접근 가능함.

이는 ES 모듈, CommonJS 환경에 따라 import 또는 require 하여 .config() 메서드를 사용한 이후부터 사용 가능하다.

react-native-dotenv 는 babel config 를 이용해 접근 가능하다.

 

 

https://www.daleseo.com/js-dotenv/

 

dotenv로 환경 변수 관리하기

Engineering Blog by Dale Seo

www.daleseo.com

https://velog.io/@ruddms936/%EB%B9%84%EB%B0%80-%EC%84%A4%EC%A0%95-%EC%A0%95%EB%B3%B4-%EA%B4%80%EB%A6%AC

 

.env 환경 변수

DB connection, API Key의 경우 SCM(source code management)를 사용하는 경우, 비밀 정보가 노출되므로 별도의 행위가 필요하다.배포시 cmd으로 config 변경 가능express에서는 NODE_ENV라는 환경변수를 통해 개발환

velog.io

 

 

 

 

**

shell 이란?

명령어/프로그램 실행 시 사용하는 인터페이스

커널과 사용자간의 다리 역할

커맨드라인 인터프리터 라고도 함.

 

shell script ?

셸은 자체 내에 프로그래밍 기능이 있어, 프로그램을 작성할 수 있다.

셸 프로그래밍 기능을 이용하면, 여러 명령을 사용해 반복적으로 수행하는 작업을 하나의 프로그램으로 제작할 수 있다.

셸 프로그램을 셸 스크립트라고 부른다.

 

bash

bash 는 현재 리눅스의 표준 셸이다.

alias 기능, history 기능, 연산 기능 등 다양한 기능이 있음 ..

 

셸 변경도 가능함.

cat /etc/shells

bin/bash ...

 

셸 변수

보통 변수명=값 형태로 지정해 사용함. / 띄어쓰기가 있으면 안됨!

변수값을 출력할 때는 변수명 앞에 $를 붙이고 echo 명령어로 확인!

$ echo $GITHUB_TOKEN

 

셸 환경변수란?

...

bash 셸의 주요 환경변수

  - HOME (현재 사용자의 홈 디렉터리)

  - PATH(실행파일을 찾는 디렉터리 경로)

  - PWD (사용자의 현재 작업 디렉토리)

  - SHELL (사용자의 로그인 셸)

  - TERM (로그인 터미널 타입)

  - USER (사용자 이름)

 

 

https://jhnyang.tistory.com/57

https://jhnyang.tistory.com/58?category=815412 

 

'IT 지식' 카테고리의 다른 글

소스맵이란?  (1) 2023.10.26
pm2란  (0) 2022.05.17
Linux, Ubuntu 관련 지식  (0) 2022.05.16
Redis 개념  (0) 2022.02.02
MS Flow란  (0) 2020.12.14