CodeDeploy 를 사용한 자동 배포 오류

2023. 7. 16. 17:24에러대응

Script at specified location: scripts/before-deploy.sh run as user ubuntu failed with exit code 1

 

첫번째 문제는 repository 명을 잘못 입력했었다.

 

#!/bin/bash
REPOSITORY=/home/ubuntu/mini-BE # 여기에서 mini_BE 로 잘못 적혀있었다. 

cd $REPOSITORY

sudo npm ci

npm start

 

그렇기 때문에 우분투 환경에서 mini_BE 와  mini-BE 두 폴더가 생성되었었다.

두 폴더를 모두 삭제해 주었고

 

코드 수정후 다시 클론하여 폴더를 가져왔다.

 

appspec.yml 파일이다.

version: 0.0
os: linux
files:
  - source: /
    destination: /home/ubuntu/mini-BE
    overwrite: yes
file_exists_behavior: OVERWRITE # 수정후 추가

push 를 하면 파일을 OVERWRITE 할 수 있게 수정했다.

 


 

codeDeploy 는 성공했지만 데이터를 못가져오는 문제를 직면했다.

 

env 파일을 생성하는 코드를 안넣은거 같아 수정했다.

 

node.js.yml 코드

 

// ...
      - name: create env file
        working-directory: ./
        run: |
          pwd
          touch .env
          echo MYSQL_USERNAME=${{ secrets.MYSQL_USERNAME }} >> .env
          echo MYSQL_PASSWORD=${{ secrets.MYSQL_PASSWORD }} >> .env
          echo MYSQL_HOST=${{ secrets.MYSQL_HOST }} >> .env
          echo MYSQL_DATABASE=${{ secrets.MYSQL_DATABASE }} >> .env
          cat .env
// ...

코드를 추가하고 zip 파일에 .env 를 추가하였더니 정상 작동하였다.

 

아 행복해