본문 바로가기
프로그래밍/기타

Github action으로 CI/CD 구축하기

by hustle-ing 2023. 6. 5.

Github actions는 Github가 공식적으로 제공하는 빌드, 테스트 및 배포 파이프라인을 자동화 할 수 있는 CI/CD 플랫폼이다. 레포지토리에서 Pull Request 나 push 같은 이벤트를 트리거로 Github 작업 워크플로우를 구성할 수 있다. 워크플로우는 하나 이상의 작업이 실행되는 자동화 프로세스로, 각 작업은 자체 가상 먼신 또는 컨테이너 내부에서 실행된다.

 

워크플로우는 .yml(혹은 .yaml) 파일에 의해 구성되며 테스트, 배포 등 기능에 따라 여러 개의 워크플로우로도 만들 수 있다. 생성된 워크플로우는 .github/workflows 디렉토리 이하에 위치하게 된다.

 

Github action으로 CI/CD 구축하기

1. 나의 깃허브 계정에 새로운 레포지토리를 만든다. (public으로 만들어야 Github action을 무료로 이용할 수 있다.)

2. .github/workflow 폴더아래에 ~~.yml 파일을 작성해준다. (아래는 예시 코드)

name: Bare Minimum Requirements

# 언제 job을 작동시킬지
on: [push, pull_request]

# 어떤 job을 할지
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Bare Minimum Requirements
        uses: actions/setup-node@v1
        with:
          node-version: '16'
      - run: npm install
      - run: npm test
name: client
on:
  push:
    branches:
      - reference
jobs:
  build:
    runs-on: ubuntu-20.04
    steps:
      - name: Checkout source code.
        uses: actions/checkout@v2
      - name: Install dependencies
        run: npm install
        working-directory: ./my-agora-states-client-react
      - name: Build
        run: npm run build
        working-directory: ./my-agora-states-client-react
      - name: SHOW AWS CLI VERSION
        run: |
          aws --version
      - 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-6-erirumble-s3 \
            --delete
        working-directory: ./my-agora-states-client-react

3. github에서 레포지토리로 이동한 후 settings -> secrets and variables -> actions로 들어가 Repository secrets를 등록해준다.

4. 코드를 push 한 후, Github Repo에서 Actions를 클릭한다.

 

'프로그래밍 > 기타' 카테고리의 다른 글

git 명령어 모음  (0) 2023.06.12
YAML  (0) 2023.06.04
CI / CD  (0) 2023.06.03
WAI-ARIA  (0) 2023.04.27
웹 접근성  (0) 2023.04.27

댓글