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 를 추가하였더니 정상 작동하였다.
아 행복해