배포자동화
codeDeploy, codeBuild, codePipeline 등 aws 배포관련 서비스들
스프린트 - 정적웹 클라 s3, 서버 ec2, db rds를 이용, 환경변수 설정, IAM role
#1
appspec.yml 파일 생성,
script/initalize, start, stop.sh 파일 생성
#!/bin/bash
// 이 명령어가 뭘까?
cd ...
=> 해당파일을 bash로 실행시키겠다는 의미
#2
ec2에 소스코드는 깃헙레포를 이용해서 codeDeploy로 서버를 자동 배포하는 데에는 성공했으나, 실제 서버 응답이 먹통인 상태
직접 ec2에서 pm2 ls 봤을때, 실행리스트가 아예없거나, status가 errored인 것을 발견,
직접 app.js 실행시켜 보니, npm 모듈이 설치 되지 않았음을 발견함
Error: Missing required argument #1
npm ERR! typeerror at andLogAndFinish (/usr/share/npm/lib/fetch-package-metadata.js:31:3)
npm ERR! typeerror at fetchPackageMetadata (/usr/share/npm/lib/fetch-package-metadata.js:51:22)
npm ERR! typeerror at resolveWithNewModule (/usr/share/npm/lib/install/deps.js:456:12)
npm ERR! typeerror at /usr/share/npm/lib/install/deps.js:457:7
npm ERR! typeerror at /usr/share/npm/node_modules/iferr/index.js:13:50
npm ERR! typeerror at /usr/share/npm/lib/fetch-package-metadata.js:37:12
npm ERR! typeerror at addRequestedAndFinish (/usr/share/npm/lib/fetch-package-metadata.js:82:5)
npm ERR! typeerror at returnAndAddMetadata (/usr/share/npm/lib/fetch-package-metadata.js:117:7)
npm ERR! typeerror at pickVersionFromRegistryDocument (/usr/share/npm/lib/fetch-package-metadata.js:134:20)
npm ERR! typeerror at /usr/share/npm/node_modules/iferr/index.js:13:50
npm ERR! typeerror This is an error with npm itself. Please report this error at:
npm ERR! typeerror <http://github.com/npm/npm/issues>
sudo npm install을 수동으로 해봐도
인스톨 중간에 위와 같은 에러가 뜨면서
필요한 전체 모듈이 제대로 설치가 되지 않았다
node 버젼 문제인가 싶어서,
14버젼으로 낮춰봤는데도 안되서 이리저리 헤매다가
뭔가 깔았던걸 언인스톨하고 다시 깔아줘야 할까 싶던 차에
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo apt-get install -y nodejs
sudo apt-get install nodejs
node -v
요런 명령어를 발견 (참조: )
다시 sudo npm install을 한뒤 npm start 하니 잘 실행이 된다,
따라서 자동배포화의 문제는 아니고,
ec2 노드버젼 호환 문제로 소스코드에 필요한 모듈이 제대로 설치되지 않아 생긴 문제라는 것을 알 수 있었다
#3 페어가 ec2에 서버 자동배포하려햇는데, deploy 단계에서 에러가 남
에러 로그를 확인하려 했으나, opt폴더는 있는데, deploy-agent 경로가 없었다..?!
->deploy-agent 설치가 제대로 되지 않은 것을 발견, aws 안내대로 수동으로 deploy-agent 설치...하려했으나 잘 되지 않음 ( 마지막 단계 인스톨이 안됨)
=> 결국 ec2 인스턴스 우분투 18버젼으로 다시 만드니 이런 이슈는 생기지 않았음, 20버젼에서 해결하는 방법은 아래 링크
답은 언제나 에러코드 자체를 제대로 읽는 것과 (곡해 노노), 갓글링 뿐