[TIL - 2022.10.12] 배포 자동화

Jeong Ha Seung·2022년 10월 12일
0

부트캠프

목록 보기
51/51

Github Actions 실습

.github/workflow 에서 yml 파일을 만들고 github actions 실습을 진행했다.

생각보다 작성하는 게 좀 빡셌다. 구글링만 1시간 정도 한 결과 답이 나왔다..

  - name: Install dependencies
    run: npm install
  - name: Build
    run: npm run build
    
    

우선 npm에 관련해서 작성을 했는데, Build 에서는 npm build가 아니라 npm run build로 정확하게 써줘야 했다.

  - name: SHOW AWS CLI VERSION
    env:
	...
      AWS_EC2_METADATA_DISABLED: true
    run: |
      aws --version
      
      

SHOW AWS CLI VERSION 에서는 run에 aws --version이라고 썼는데 |는 정확히 어떤 건지는 모르겠다... -> yml 문법에서는 줄바꿈을 문자열로 인식한다고 해서 이렇게 작성한다고 한다.

	      - name: Sync Bucket
        env:
          AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY }}
          AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_KEY }}
          AWS_EC2_METADATA_DISABLED: true
        run: |
          aws s3 sync \
            --region ap-northeast-2 \
            build s3://fe-111-ha-seung-jeong \
            --delete
        working-directory: ./my-agora-states-client

sync vs cp

s3에 버킷을 올릴 때 옵션인데,

cp의 경우에는 모든 파일을 복사하기 때문에 파일이 이미 존재하는 경우에도 그 파일을 복사하며
sync는 파일을 복사하기 전에 경로를 확인하고 새 파일과 업데이트 된 파일만 복사한다.

참고자료 :
https://www.learnaws.org/2022/03/01/aws-s3-cp-sync/
https://passwd.tistory.com/entry/AWS-cli-S3-sync

profile
블로그 이전했습니다. https://nextjs-blog-haseungdev.vercel.app/

0개의 댓글