Github에서 AWS Elastic Beanstalk로 Rails 앱 배포

6039 단어 railsawsgithub
저는 항상 Rails 및 Express 애플리케이션을 Heroku에 배포했지만 새 프로젝트에서는 다른 것을 시도하고 싶었기 때문에 Elastic Beanstalk에 배포하기로 결정했습니다.

이 자습서에서는 aws 계정이 필요하므로 amazon으로 이동하여 계정이 없는 경우 계정을 만들고 계정이 있는 경우 로그인하십시오.

설정 레일 앱



작은 레일 앱을 빠르게 설정해 보겠습니다. 나는 게으르기 때문에 이것은 rails API가 될 것이고 우리는 데이터베이스로 postgres를 사용할 것입니다.

참고: Rails 앱을 이미 생성한 경우 이 부분의 데이터베이스 구성 섹션을 설정할 수 있습니다skip.

애플리케이션 만들기



다음을 사용하여 새 레일스 앱을 만듭니다.

rails new tuts-api --api --database=postgresql



cd tuts-api


포스트 발판을 생성합시다

rails g scaffold Post


이는 다음을 생성해야 합니다.



create_posts 마이그레이션 파일에서 다음을 추가하십시오.

t.string :title
t.string :description




마이그레이션 실행



db 설정 및 마이그레이션 실행

rails db:create && rails db:migrate


posts_controller에서 다음을 변경하십시오.

def post_params
  params.fetch(:post, {}).permit(:title, :description)
end


에게

def post_params
  params.require(:post).permit(:title, :description)
end


database.yml 구성 설정



로컬 환경으로 이동하여 database.yml 파일로 이동합니다.

프로덕션 섹션을 다음과 같이 변경합니다.



Github



Github에 커밋 및 푸시 추가

지금은 Rails 부분이 끝났습니다.

Elastic Beanstalk 애플리케이션 생성



이제 귀하의 aws console로 이동하십시오.

새 응용 프로그램 만들기를 클릭하십시오.
  • 애플리케이션 이름 입력
  • 플랫폼 섹션으로 이동하여 플랫폼 및 플랫폼 분기(루비 버전)로 Ruby를 선택합니다.

  • 추가 옵션 구성을 클릭합니다
  • .

    환경 변수 설정



    소프트웨어 섹션에서 편집을 클릭합니다.
    환경 속성까지 아래로 스크롤
    RAILS_ENV를 프로덕션으로 설정
    노트북에서 rails 앱으로 이동하여 터미널에서 rake secret을 사용하여 비밀을 생성합니다.

    값을 복사하고 환경 속성에서 SECRET_KEY_BASE로 설정합니다.



    구하다

    Postgres 데이터베이스 추가



    다음으로 데이터베이스를 구성하겠습니다.

    데이터베이스 섹션까지 아래로 스크롤하고 편집을 클릭합니다.
    Postgres를 데이터베이스 엔진으로 선택
    데이터베이스 사용자 이름과 암호를 설정한 다음 저장


    이제 앱 만들기를 클릭하여 애플리케이션을 만듭니다. 이렇게 하면 EC2 인스턴스, RDS 인스턴스 및 기타 항목이 생성됩니다. 10분 정도 소요될 테니 빨리 술을 마시자, 그럴 자격이 있다.

    확인! 우리의 응용 프로그램과 환경은 지금까지 완료되어야 합니다. github 저장소를 응용 프로그램 환경에 연결하겠습니다.



    github로 배포



    codepipeline 서비스로 이동하여 새 파이프라인 생성
    파이프라인 이름 설정 후 다음

    소스 공급자로 Github를 선택하고 github 계정을 연결합니다. 리포지토리와 원하는 브랜치를 선택한 후 다음을 선택합니다. (빌드 단계를 건너뜁니다.)

    배포 공급자로 AWS Elastic Beanstalk를 선택하고 애플리케이션 이름과 애플리케이션 환경을 다음과 같이 선택합니다.





    다음을 클릭한 다음 파이프라인 생성을 클릭합니다. 이렇게 하면 github 소스 코드가 애플리케이션 환경에 배포되고 마스터에 대한 후속 커밋도 배포됩니다.

    애플리케이션으로 돌아가서 애플리케이션 URL을 가져오고 Postman 또는 curl을 사용하여 테스트할 수 있습니다.

    내 소스 코드를 찾을 수 있습니다here.

    좋은 웹페이지 즐겨찾기