# Angular

### 1. 개요

***

> Angular는 Google에서 개발하고 유지 관리하는 오픈 소스 프론트엔드 웹 애플리케이션 프레임워크입니다. 2010년에 처음 발표된 AngularJS를 기반으로 하며, 2016년에 큰 변화를 겪어 Angular (Angular 2 이상)로 다시 발표되었습니다. Angular는 대규모 애플리케이션을 효율적으로 구축하고 관리할 수 있도록 다양한 기능을 제공합니다.

AppPaaS에서는 node.js 18 / 20 에서 angular 17을 지원합니다.

### 2. 서비스 환경설정

<figure><img src="https://1281168261-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F69bJtwnfn269Dqzr8gks%2Fuploads%2FGT4447pRgVrNUNYyyR1p%2Fimage.png?alt=media&#x26;token=bafd9316-3f08-42bd-91ec-a658980115ec" alt=""><figcaption></figcaption></figure>

* **내부 포트**\
  서비스가 배포된 후 리슨되는 포트를 의미합니다. \
  4200 포트가 사용되며 소스 내에서 해당 포트를 변경했을 경우 변경한 값을 입력해 주어야 합니다.\
  AppPaaS Beta에서는 해당 포트를 기반으로 TCP 헬스체크를 합니다.<br>
* **외부 포트, 외부 포트 공개 여부**\
  서비스를 퍼블릭으로 오픈할지 여부를 결정하는 설정입니다. \
  기본으로 443, 오픈으로 설정되어 있으며 오픈 설정 시 외부 도메인이 할당되어 \
  https\://{할당된 주소}를 통해 외부에서 접근할 수 있습니다. \
  비공개로 설정할 경우 외부에서 접근이 불가능하며 내부 도메인 주소로 서비스 간 통신만 지원됩니다.<br>
* **자동 배포 설정**\
  자동 배포를 설정하면 리포지터리의 선택한 브랜치에 변경이 생길 경우 \
  변경에 대한 훅을 받아 자동으로 빌드 및 배포가 진행됩니다.<br>

### 3. 고급 환경 설정

***

* **설치 명령어**\
  디폴트로 `npm run install` 이 수행됩니다. 수정이 필요할 경우 해당 값을 오버라이드할 수 있습니다.<br>
* **환경 변수**\
  Key/Value 형태로 입력되며 입력된 값은 컨테이너 OS의 환경 변수로 주입됩니다.\
  주입된 환경 변수는 코드 내에서 process.env을 통해 접근하여 사용할 수 있습니다.<br>
