DevOps/Github

Serverless로 만든 프로젝트를 깃허브 액션즈(Github actions)로 자동화하기

567Rabbit 2024. 5. 24. 16:42

사용할 repository를 클릭하고 Settings로 이동한다.

 

 

 

 

 

Settings에서 Security -> secrets and variables -> Actions로 이동하고 New repository secret 버튼을 클릭한다.

 

 

 

 

 

 

https://codebunny99.tistory.com/104

 

AWS IAM 사용자 추가하고 인증키 얻는 방법

IAM 사용자 추가      정책 아래 8개 체크    생성한 사용자로 들어가서 액세스 키(인증 키) 만들기    사용하기에 적합한 액세스 키를 골라준다    .csv 파일 받아주기 -> 완료     사

codebunny99.tistory.com

 

 

 

여기에서 받은 CSV 파일에서, AWS_ACCESS_KEY_ID와 AWS_SECRET_ACCESS_KEY를 입력해준다.

 

 

 

 

 

첫 번째

 

 

 

 

두 번째

 

 

 

 

 

세 번째는 SERVERLESS_ACCESS_KEY라고 입력해준 후에

 

 

 

 

https://www.serverless.com/

 

Serverless: Zero-Friction Serverless Apps On AWS Lambda & Beyond.

Easily build auto-scaling, low-overhead applications on AWS Lambda, API Gateway, DynamoDB, and other managed services with the Serverless Framework.

www.serverless.com

 

serverless에 로그인하고, 

 

 

 

add를 눌러 key를 만들어준다. key는 잃어버리지 않게 복사해놓고

 

 

 

 

내용에 입력해준다.

 



 

 

 

Repository secrets를 모두 작성했으면

 

 

 

 

 

Actions 메뉴로 이동해주고 set up a workflow yourself를 클릭한다

 

 

 

 

 

 

파이썬 버전이 다르면, run: npm i -g serverless@3.38.0 처럼 버전을 붙여준다.

 

name: Deploy sls app

on: 
  push:
    branches:
      - main

jobs:     
  deploy:
    runs-on: ubuntu-latest
    env:
      SERVERLESS_ACCESS_KEY: ${{ secrets.SERVERLESS_ACCESS_KEY }}
      AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
      AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
    steps:
    - uses: actions/checkout@v3
    - name: install-python
      uses: actions/setup-python@v4
      with:
        python-version: '3.10'    
    - name: install serverless
      run: npm i -g serverless@3.38.0
    - name: severless deploy
      run: sls deploy --verbose --force

 

 

 

commit changes 한다.

 

 

 

 

postman에서 이 엔드포인트(endpoint)로 구동되는지 확인한다.

 

 

 

 

 

 

아래는 깃허브 액션에 대한 설명이 쓰여 있는 웹페이지 주소이다.

 

https://github.com/serverless/github-action

 

GitHub - serverless/github-action: :zap::octocat: A Github Action for deploying with the Serverless Framework

:zap::octocat: A Github Action for deploying with the Serverless Framework - serverless/github-action

github.com