# Ruby on Rails

### 1. 개요

> Ruby on Rails는 Ruby를 사용하고 MVC 패턴을 이용하는 오픈 소스 웹 프레임워크입니다. \
> 애자일 환경에 적합하여 생산성이 매우 높고, Ruby를 모르더라도 웹 강좌를 보고 금방 이해하고 \
> 블로그를 개발 할 수 있을 정도로 쉽고 빠르게 사용 가능합니다.

AppPaaS에서는 Ruby 3.3.2 와 Rails 7.1.3을 지원합니다.

{% hint style="warning" %}
AppPaaS는 Ruby 버전 3.3.2 이상 지원합니다. \
Ruby 언어 버전에 따라 빌드 시 오류가 발생할 수 있기에 3.3.2 이상 사용을 권장합니다.
{% endhint %}

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

<figure><img src="https://1281168261-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F69bJtwnfn269Dqzr8gks%2Fuploads%2FAT57eHneR6GO4JOtUrOD%2Fimage.png?alt=media&#x26;token=97575760-1cd0-4447-99a8-0384a89bd8f7" alt=""><figcaption></figcaption></figure>

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

### 3. 고급  환경설정

***

* **환경 변수**\
  Key/Value 형태로 입력되며 입력된 값은 컨테이너 OS의 환경 변수로 주입됩니다.\
  주입된 환경 변수는 코드 내에서 process.env을 통해 접근하여 사용할 수 있습니다.
