오늘도 한 뼘 더

[AWS] Elastic Beanstalk으로 배포 시 Buildfile, Procfile 사용하기(Golang) 본문

DevOps & Infra/AWS

[AWS] Elastic Beanstalk으로 배포 시 Buildfile, Procfile 사용하기(Golang)

나른한댕댕이🐶 2023. 1. 19. 13:43
728x90
반응형

  # 배경  

ElasticBeanstalk을 사용하여 배포를 진행할 때 서버에 명령어를 선행시키고 싶다. 

 

  # Buildfile  

단기간 실행되고 작업 완료 후 종료되는 명령에는 Buildfile 사용

 

  # Procfile  

프로세스가 계속 실행되어야 하는 명령어는 Procfile을 사용

 

  ## 현재 상황  

보통 ElasticBeanstalk으로 배포를 진행하면 Buildfile과 Procfile이 올라갔다는 내용이 이벤트에 떠서 볼 수 있었다. 

 

코드에 Buildfile과 Procfile을 작성하지 않아도 자동으로 실행이 되어 EC2서버로 접속하여 `/var/app/current`에 접근하면  Buildfile과 Procfile의 내용을 확인할 수 있다. 

 

기본 Buildfile

build: go build -o bin/application application.go

기본 Procfile

web: bin/application

 

  # Buildfile을 통한 선행 명령어 실행 방법  

Buildfile에서 build.sh 파일을 실행할 수 있도록 하고 build.sh 파일에 실행하고자 하는 명령어에 쉘스크립트를 작성한다. 

 

Buildfile 예시

make: chmod u+r+x ./build.sh
make: ./build.sh

build.sh 예시

#!/usr/bin/bash
set-xe

echo start

#build command
go build -o bin/application application.go
728x90
반응형
Comments