시간은 흘러... 어느새 86일차...(ㅋ...)
오늘은 프로젝트에 있어 반쯤 필수나 다름없는 무중단 배포를 시도했다 😎
참고한 블로그를 첨부 !
작성자분께서 너무나도 상세히 설명해주셨음에도 불구하고...!
코드를 그대로 작성했음에도 불구하고...!
계속해서 발생하는 에러때문에 너무나도 고생을 했다 ㅠ.ㅠ 아무리 검색을 해보아도 정보가 없었을 뿐더러 애초에 뭔가 나올만한 에러코드도 아니었음...
내가 겪은 에러는 총 두가지였는데,
1. build 과정의 Process completed with exit code 1.
2. deploy 과정의 Process completed with exit code 1.
해결방법은 다음과 같았다.
사진과 같이 env에 CI: "" 를 삽입해 해결.
내 추측으로는 아마 경고 문구를 에러로 인식해 발생한 문제였던 것 같다.
다른 깃허브도 여러곳 참고해보았으나, 다른 사람들과 딱히 다른 점을 찾을 수 없었다. 나름대로 찔끔찔끔 수정을 거쳐보아도 계속 에러를 띄우며 실패해서 하나하나 살펴보았는데, 사진과 같이 버켓 경로를 찾지 못하고 있었다.
무중단 배포를 같이 시도했던 유림님께 여쭤보니 유림님은 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
ㅠㅠ~~저 버킷이랑이랑 도메인이랑 똑같았었어여 으흐으윽 ㅠ___ㅠ