Github actions S3 EC2 세팅

LJM·2023년 4월 29일
0

AWS

목록 보기
4/5

오늘은 하루종일 Github actions EC2 S3 CodeDeploy 와 씨름하는 하루 였다...
하루종일 삽질을 하였다 하...

https://goodgid.github.io/Github-Action-CI-CD-AWS-EC2/
일단 뭐가 뭔지 몰라서 저거 보고 무작정 따라하였다. 최대한 똑같이 따라하였다
중간중간 설명이 비어있는게 있다. 예를 들어 appspec.yml 파일은 어디에 저장하는거지?
그런건
https://github.com/goodGid/Github-Action-Variable-Substitution
여기 참고하면 된다

deploy.yml 파일을 일부 수정하였다

#이부분은 오류가나서 이것저것 고쳐보다가 그냥 주석처리 해버림
        # [1]
      #- name: Set yaml file 
      #  uses: microsoft/variable-substitution@v1
      #  with:
      #    files: ${{ env.RESOURCE_PATH }} 
      #  env:
      #    override.value: '.github/workflows/deploy.yml'
      #    override.value: ${{ secrets.DI_FROM_SECRET }} 


        # [2]
      - name: Build with Gradle
        run: ./gradlew build
        shell: bash
        env:
          SPRING_PROFILES_ACTIVE: prod

appspec.yml 파일은 그대로 사용하였다

gh_deploy.sh 파일은 한줄만 변경사항이 있다
포트번호 옵션은 날렸고(안하면 스프링 프로젝트의 application.yml에서 세팅한 포트번호가 적용되지 않는다) -Dspring.profiles.active=prod 를 추가하였다

nohup java -jar -Dspring.profiles.active=prod $DEPLOY_JAR >> $APPLICATION_LOG_PATH 2> $DEPLOY_ERR_LOG_PATH &

그외에 EC2 보안그룹에서 인바운드 규칙에 443 포트(CodeDeploy_agent) 추가하고 5000 포트(웹서버용) 추가하였다

Access Key와 Secret Key 부분이 인터페이스가 달라서 그랬는지는 몰라도 나는
https://livefordev.tistory.com/42
이거보고 발급받아서 해결하였다

서버의 시간을 한국으로 변경하였다
sudo timedatectl set-timezone 'Asia/Seoul'

만들고 나니 보람은 있다. main 에 merge 할때마다 자동 빌드 되고 서버도 내려서 업데이트하고 서버 올라간다

profile
게임개발자 백엔드개발자

0개의 댓글