ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Github actions를 통한 CI/CD 구축
    AWS 2021. 11. 29. 09:58
    • 배포 환경: AWS elastic beansstalk, docker
      1. npx create-react-app 으로 샘플 보일러플레이트 앱을 만든다.
      2. Dockerfile을 만든다.
    FROM node:16
    WORKDIR '/app'
    COPY package.json ./
    RUN npm install
    COPY . .
    RUN npm run build
    
    #FROM nginx
    #COPY --from=0 /app/build /usr/share/nginx/html
    1. github에 레포지토리를 만든다
    2. aws elastic beanstalk에 환경을 구축한다.
    3. github 마스터 브렌치에 푸시한다.
    4. github actions에 워크플로우를 세팅한다.
    name: Deployment from github to AWS
    on:
      push:
        branches:
          - master
    jobs:
      deploy:
        runs-on: ubuntu-latest
        steps:
          - name: Checkout latest rep
            uses: actions/checkout@master
            
          - name: Generate Delpoyment Package
            run: zip -r deploy.zip * -x "**node_modules**"
              
          - name: Deploy to EB
            uses: einaregilsson/beanstalk-deploy@v16
            with:
              aws_access_key: ${{secrets.AWS_ACCESS_KEY_ID}}
              aws_secret_key: ${{secrets.AWS_SECRET_ACCESS_KEY}}
              application_name: simple-engineer-delpoyment-tutorial
              environment_name: Simpleengineerdelpoymenttutorial-env
              region: ap-northeast-1
              version_label: "my-$"
              deployment_package: deploy.zip
    1. github settings 에서 AWS_ACCESS_KEY_ID와 AWS_SECRET_ACCESS_KEY를 등록한다.
    2. 세팅을 완료한다.
    3. 코드를 마스터 브랜치에 푸시하면 CI/CD가 실행된다.
Designed by Tistory.