김묭의 자기개발

배포관련자료 - 깃액션 본문

카테고리 없음

배포관련자료 - 깃액션

포령 2023. 7. 7. 09:33
  1. AWS 콘솔창 IAM 검색 후 들어가기
  2. 사용자 없을 시 추가
  3. 권한 추가 클릭 -> 직접 정책 연결 체크
  4. policy name 3가지 추가
    • AdministratorAccess
    • AmazonS3FullAccess
    • CloudFrontFullAccess
    • 참고 사진

  1. 밑에 내리면 Access keys 에 create Access key 버튼 클릭
    • Command Line Interface (CLI) —> 첫번째 체크창 선택!
    • Confirmation 체크!
    • 참고 사진
    •  

  1. 생성 후 csv 파일을 꼭 저장해야합니다 !!!
  2. 이제 깃허브로 이동해서 레퍼지토리로 이동
  3. settings 페이지 왼쪽 메뉴에 secrets and variables > Actions 클릭
  4. new repository secret 클릭 —> 총 4개 등록
    • AWS_ACCESS_KEY_ID => 6번의 csv 파일에 “Access key ID” 값 입력
    • AWS_SECRET_ACCESS_KEY_ID => 6번의 csv 파일에 “Secret access key” 값 입력
    • AWS_S3_BUCKET => AWS에서 생성한 S3 버킷 이름 입력
    • DISTRIBUTION_ID => AWS에서 생성한 cloud front 아이디 입력
    • 슬랙 알람은 나중에! 일단 4가지만 입력한다
  5. vscode로 이동
  6. .gitbub 폴더를 생성 후 그 폴더 안에 workflows 폴더 생성
  7. workflows 폴더 안에 main.yml 파일 생성 후 코드 추가
  8.  
# .github > workflows > main.yml

name: my-front
on:
  push:
    branches:
      - main

jobs:
  build:
    runs-on: ubuntu-latest
    env:
      AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
      AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY_ID }}
      AWS_REGION: 'ap-northeast-2'

    steps:
      - name: Checkout source code.
        uses: actions/checkout@master

      - name: Upload binary to S3 bucket
        uses: jakejarvis/s3-sync-action@master
        with:
          args: --include '*' --exclude '.git*/*' --exclude '.git*'
        env:
          AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }}

      - name: Invalidate cache CloudFront
        uses: chetan/invalidate-cloudfront-action@master
        env:
          DISTRIBUTION: ${{ secrets.DISTRIBUTION_ID }}
          PATHS: '/*'
        continue-on-error: true
  1. 폴더 구조
  2.  

  1. 커밋 후 메인 브랜치로 push
  2. 레포지토리 Action 탭으로 이동하면 내가 커밋한 내용들이 올라온 것을 볼 수 있습니다
  3. 끝!