> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ale.run/llms.txt
> Use this file to discover all available pages before exploring further.

# 환경변수

> 배포 환경별로 시크릿을 저장하고 관리할 수 있습니다. 배포 설정 시 저장된 시크릿을 불러와 환경변수로 쉽게 적용할 수 있습니다.

## 시크릿 저장

<video autoPlay muted loop playsInline className="w-full aspect-video" src="https://storage.googleapis.com/files.cloudtype.io/ale-docs/developers/images/secret_kr.mp4" />

> 배포환경 설정화면의 시크릿 항목에서 ENV파일을 Drag & Drop하거나, <Icon icon="circle-plus" iconType="solid" size={15} color="2396F1" /> 아이콘을 클릭해 여러 개의 환경변수를 직접 입력할 수 있습니다.

<Info>
  ENV파일에서 환경변수 이름과 값이 등호(=) 로 구분된 내용이 입력되며, 확장자 이름과 상관없이 적용 가능합니다.
</Info>

## 배포 과정에서 적용

<video autoPlay muted loop playsInline className="w-full aspect-video" src="https://storage.googleapis.com/files.cloudtype.io/ale-docs/developers/images/secret2_kr.mp4" />

> 배포창의 Environment variables 항목에서 ENV파일을 **Drag & Drop**하거나, <Icon icon="circle-plus" iconType="solid" size={15} color="2396F1" /> 아이콘을 클릭해 여러 개의 환경변수를 직접 입력할 수 있으며, <Icon icon="key" iconType="solid" size={15} /> 를 클릭하면 미리 저장한 시크릿을 불러올 수 있습니다.

<Tip>
  시크릿은 배포환경 단위로 저장됩니다. 시크릿이 조회되지 않는 경우, [서비스가 위치한 배포환경을 확인해보세요.](/ko/developers/environment#%EB%B0%B0%ED%8F%AC%ED%99%98%EA%B2%BD-%EA%B4%80%EB%A6%AC)
</Tip>

## 배포 후 관리

<Frame>
  <img className="block rounded-md" src="https://files.cloudtype.io/ale-docs/developers/images/env01.png" />
</Frame>

> 서비스 설정화면의 배포 설정 항목에서 환경변수를 수정 또는 추가할 수 있으며, `배포하기`를 클릭하면 수정된 환경 변수를 적용한 배포과정이 진행됩니다.

## Yaml 설정에서 사용

> 대시보드가 아닌 CLI 혹은 CI 도구에서 서비스를 배포하는 데에 활용되는 yaml 예시입니다.
> 아래 코드와 같이 `secret(시크릿)` 속성을 사용합니다.

```yaml theme={null}
name: flask
app: python@3.9
options:
  env:
    - name: FLASK_ENV
      secret: flask-env
    - name: DB_PASSWORD
      secret: mariadb-root-password
  ports: 5000
  start: gunicorn -b 0.0.0.0:5000 app:app
context:
  git:
    url: https://github.com/cloudtype-examples/flask.git
    branch: main
  preset: python-flask
```

> 만약 미리 저장한 환경변수 값이 아니라 배포시점에 직접 환경변수 값을 입력하는 경우, `value` 속성에 값을 작성해주어야 합니다.

```yaml theme={null}
name: flask
app: python@3.9
options:
  env:
    - name: FLASK_ENV
      value: production
  ports: 5000
  start: gunicorn -b 0.0.0.0:5000 app:app
context:
  git:
    url: https://github.com/cloudtype-examples/flask.git
    branch: main
  preset: python-flask
```
