> ## 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.

# 배포환경 복제

> 배포환경 셀렉터의 **YAML 다운로드** 기능을 활용해, 간편하게 배포환경 전체를 복제할 수 있습니다.

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

<Info>
  배포환경은 한 개 또는 여러 개의 서비스로 구성할 수 있는 작업단위입니다. 스페이스에서 서비스까지 `ale` 의 작업단위에 관한 내용은 아래를 참고하세요.
</Info>

<AccordionGroup>
  <Accordion title="스페이스">
    > 스페이스는 운영시스템에서 리소스를 할당 받는 최상위의 작업 단위입니다. 스페이스 소유자는 [팀원을 초대](/ko/developers/space#%ED%8C%80%EC%9B%90-%EA%B4%80%EB%A6%AC)해 할당된 리소스를 여러 개의 프로젝트에 나누어서 사용할 수 있습니다.
  </Accordion>

  <Accordion title="프로젝트">
    > **프로젝트는 배포환경의 묶음으로 사용되는 표시명**입니다. 대시보드 사용자의 관리 편의성을 위한 명칭이며, 업무 단위로 사용되는 한 개 또는 여러 개의 배포환경(Dev, QA, Staging, Prod 등)을 하나의 프로젝트에서 관리할 수 있습니다.
  </Accordion>

  <Accordion title="배포환경">
    > **배포환경은 쿠버네티스 클러스터 상에서 Namespace에 해당합니다.** Namespace 단위로 격리된 네트워크가 구성되며, [같은 배포환경(Namespace) 안에 있는 서비스 간에는 서비스명을 호스트네임으로 참조해 통신할 수 있습니다.](/ko/developers/connect#%EB%82%B4%EB%B6%80-%EC%84%9C%EB%B9%84%EC%8A%A4-%EA%B0%84-%ED%86%B5%EC%8B%A0) 자주 사용하는 환경변수 값은 배포환경 단위에서 [시크릿으로 저장해 관리 및 적용할 수 있습니다.](/ko/developers/env)
  </Accordion>

  <Accordion title="서비스">
    > **서비스는 Deployment에 해당합니다.** 서비스 별로 [터미널을 통한 접근](/ko/developers/log)이 가능하고, [커스텀 도메인을 연결](/ko/developers/domain)할 수 있습니다. 서비스를 배포하는 방법은 [ale에서 배포하기 페이지](/ko/developers/deploy)를 참고하세요.
  </Accordion>
</AccordionGroup>

***

## YAML 파일 다운로드

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

> 화면 우측의 배포환경 셀렉터를 클릭하면, 복제할 배포환경에 속한 서비스 전체의 배포설정이 담긴 YAML 파일을 다운로드 받을 수 있습니다.

<Note>
  YAML 파일에 리소스, 환경 변수, 시크릿 이름 등의 설정 값이 포함되지만 시크릿 값은 포함되지 않습니다. 복제하려는 배포환경의 서비스가 저장된 시크릿을 사용하는 경우, 아래를 참고해 새로운 배포환경에 시크릿을 저장하세요.
</Note>

## 시크릿 다운로드

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

> 설정탭의 시크릿 항목에서 **파일로 다운로드**를 클릭해 저장된 시크릿을 다운로드 받을 수 있습니다.

## 시크릿 저장

<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" />

> 다운로드한 시크릿 파일을 새로운 배포환경에 Drag & Drop 방식으로 적용하고 저장하세요.

## YAML 파일 적용

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

> 새로운 배포환경에서 YAML 파일을 Drag & Drop 방식으로 적용하면, 원본 배포환경과 동일한 설정의 모든 서비스가 중지된 상태로 생성됩니다.

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

> 서비스 각각의 <Icon icon="play" size={15} color="9fa3a5" /> 아이콘을 클릭하거나, 우측의 배포환경 셀렉터에서, `모두 시작`을 클릭하면 모든 서비스가 새로운 배포환경에서 배포됩니다.

<Warning>
  새로운 배포환경에 데이터베이스 등 외부 서비스와 TCP 접속이 필요한 서비스가 있는 경우, [TCP 외부 접속을 허용으로 설정하세요.](/ko/developers/environment#%EB%B0%A9%ED%99%94%EB%B2%BD-%EC%84%A4%EC%A0%95)
</Warning>
