류림스 공간
[항해99 86일차] 2022.05.31 TIL (깃허브 액션 무중단 배포 s3) 본문
반응형
오늘은 무중단 배포를 설정했다 !
처음엔 .. 어려워보였는데 막상 하고나니 별거 없었다.ㅎㅎ
깃허브 액션즈로 들어가서
아래에 보이는 set up a workflow yourself를 클릭해줍니다. (main이나 master브랜치에서 해줘야된다 !! dev브랜치는 안됨 ㅠㅠ)
이렇게 커밋 뉴 파일을 해준다.
그렇다면 main.yml파일이 생긴다 !!
이제 aws s3로 넘어가서 IAM 권한을 설정해줄 차례다 !!
IAM > 사용자 > 사용자 추가 >
스텝 1 사용자 세부 정보 설정
사용자 이름은 영어로
AWS 자격 증명 유형 선택은 첫번째 것 선택 후 다음 권한으로 이동
스텝 2 기존 정책 직접 연결
정책 필터 s3검색 후 AmazonS3FullAccess 선택 후 다음 권한으로 이동
스탭 3, 4, 5는 그냥 이동한다.
그리고 나면 액세스 키를 발급해준다 !!
csv파일로 저장한 뒤 깃허브 세팅 탭으로 이동!
Secrets > 뉴 레포지토리 시크릿 클릭하여 csv로 발급받은 키를 입력해준다.
이렇게 입력을 해준다.
그렇다면 설정 완료!
이제 main.yml을 수정할 차례
name: React build
on:
push: # master Branch에서 push 이벤트가 일어났을 때만 실행
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
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_KEY=$REACT_APP_KAKAO_KEY" >> .env.production
echo "REACT_APP_KAKAO_LOGIN=$REACT_APP_KAKAO_LOGIN" >> .env.production
echo "REACT_APP_KAKAO_ID=$REACT_APP_KAKAO_ID" >> .env.production
echo "REACT_APP_GOOGLE_ID=$REACT_APP_GOOGLE_ID" >> .env.production
env:
REACT_APP_KAKAO_KEY: ${{ secrets.REACT_APP_KAKAO_KEY }}
REACT_APP_KAKAO_LOGIN: ${{ secrets.REACT_APP_KAKAO_LOGIN }}
REACT_APP_KAKAO_ID: ${{ secrets.REACT_APP_KAKAO_ID }}
REACT_APP_GOOGLE_ID: ${{ secrets.REACT_APP_GOOGLE_ID }}
- name: Install Dependencies # 의존 파일 설치
run: yarn install
- name: Build # React 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:// /*s3버킷 이름*/
이렇게 수정해주면 이제 main에 push 할 때마다 자동으로 배포된다아~!
예에 엄청 편하구만 이거
728x90
반응형
'TIL > 2022 TIL' 카테고리의 다른 글
[항해99 88일차] 2022.06.02 TIL (자바스크립트 개념 공부 2) (1) | 2022.06.02 |
---|---|
[항해99 87일차] 2022.06.01 TIL (자바스크립트 개념 공부) (0) | 2022.06.01 |
[항해99 85일차] 2022.05.30 TIL (인스타그램 이미지 슬라이더 매직도트 css커스텀) (1) | 2022.05.30 |
[항해99 82일차] 2022.05.27 TIL (aws 클라우드 연결 시 뜨는 404에러 없애기) (1) | 2022.05.27 |
[항해99 81일차] 2022.05.26 TIL (slick slider arrow 버튼 커스텀) (1) | 2022.05.27 |
Comments