시간은 흘러... 어느새 86일차...(ㅋ...)

오늘은 프로젝트에 있어 반쯤 필수나 다름없는 무중단 배포를 시도했다 😎

참고한 블로그를 첨부 !

Github Action을 이용해서 React 프로젝트 S3에 배포하기

작성자분께서 너무나도 상세히 설명해주셨음에도 불구하고...!
코드를 그대로 작성했음에도 불구하고...!

계속해서 발생하는 에러때문에 너무나도 고생을 했다 ㅠ.ㅠ 아무리 검색을 해보아도 정보가 없었을 뿐더러 애초에 뭔가 나올만한 에러코드도 아니었음...

내가 겪은 에러는 총 두가지였는데,

1. build 과정의 Process completed with exit code 1.
2. deploy 과정의 Process completed with exit code 1.

해결방법은 다음과 같았다.

1. Build error - Process completed with exit code 1

사진과 같이 env에 CI: "" 를 삽입해 해결.
내 추측으로는 아마 경고 문구를 에러로 인식해 발생한 문제였던 것 같다.

2. deploy error - Process completed with exit code 1

다른 깃허브도 여러곳 참고해보았으나, 다른 사람들과 딱히 다른 점을 찾을 수 없었다. 나름대로 찔끔찔끔 수정을 거쳐보아도 계속 에러를 띄우며 실패해서 하나하나 살펴보았는데, 사진과 같이 버켓 경로를 찾지 못하고 있었다.

무중단 배포를 같이 시도했던 유림님께 여쭤보니 유림님은 S3에 버켓이 하나뿐이었고, 나는 다른 용도로 사용중인 버켓이 몇가지 있어 혹시 이것 때문에 어떤 버켓인지 찾지 못 하는 상황인가? 아님 url과 버켓명이 달라서인가? 하고 마지막줄에 url 대신 버켓 이름을 직접 입력해(build s3://버켓이름) 다시 시도해보았다.

드디어 초록불이 ㅠ . ㅠ ~!!!
해결하자마자 정말루 눈물이 날 뻔.....................

사용한 코드


name: React build
on: 
  push:                               # dev Branch에서 push 이벤트가 일어났을 때만 실행
    branches:
      - main
   
jobs:
  build:
    runs-on: ubuntu-18.04
    steps:
      - name: Checkout source code.   # 레포지토리 체크아웃
        uses: actions/checkout@v2

      - name: Cache node modules      # node modules 캐싱
        uses: actions/cache@v1
        with:
          path: node_modules
          key: ${{ runner.OS }}-build-${{ hashFiles('**/package-lock.json') }}
          restore-keys: |
            ${{ runner.OS }}-build-
            ${{ runner.OS }}-
            
              
      # 소셜 로그인 관련 키 처리
      - name: Generate Environment Variables File for Production
        run: |
          echo "REACT_APP_KAKAO_REST_API_KEY=$REACT_APP_KAKAO_REST_API_KEY" >> .env.production
          echo "REACT_APP_KAKAO_REDIRECT_URI=$REACT_APP_KAKAO_REDIRECT_URI" >> .env.production
          echo "REACT_APP_GOOGLE_CLIENT_ID=$REACT_APP_GOOGLE_CLIENT_ID" >> .env.production
          echo "REACT_APP_GOOGLE_CLIENT_SECURITY_PASSWORD=$REACT_APP_GOOGLE_CLIENT_SECURITY_PASSWORD" >> .env.production
          echo "REACT_APP_GOOGLE_OAUTH_REDIRECT_URI_PASSWORD=$REACT_APP_GOOGLE_OAUTH_REDIRECT_URI" >> .env.production
        env:
          REACT_APP_KAKAO_REST_API_KEY: ${{ secrets.REACT_APP_KAKAO_REST_API_KEY }}
          REACT_APP_KAKAO_REDIRECT_URI: ${{ secrets.REACT_APP_KAKAO_REDIRECT_URI }}
          REACT_APP_GOOGLE_CLIENT_ID: ${{ secrets.REACT_APP_GOOGLE_CLIENT_ID }}
          REACT_APP_GOOGLE_CLIENT_SECURITY_PASSWORD: ${{ secrets.REACT_APP_GOOGLE_CLIENT_SECURITY_PASSWORD }}
          REACT_APP_GOOGLE_OAUTH_REDIRECT_URI_PASSWORD: ${{ secrets.REACT_APP_GOOGLE_OAUTH_REDIRECT_URI }}

      - name: yarn install 
        run: yarn install

      - name: Build                   
        run: yarn build
        env:
          CI: "" # 경고를 에러로 보지 않게 함
 

      - name: Deploy # S3에 배포하기
        env:
          AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
          AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
        run: |
          aws s3 cp \
            --recursive \
            --region ap-northeast-2 \
            build s3://chorok-test
profile
가보자고

1개의 댓글

comment-user-thumbnail
2022년 6월 6일

ㅠㅠ~~저 버킷이랑이랑 도메인이랑 똑같았었어여 으흐으윽 ㅠ___ㅠ

답글 달기