서버 배포 자동화 파이프라인 구축 중 생긴 에러

Suxxzzy.log·2022년 3월 30일
0

에러핸들링

목록 보기
31/32
  1. EC2에 AWS codeDeploy agent 설치:

설치한 이유: cd /opt/codedeploy-agent/deployment-root/deployment-logs 명령어를 EC2의 터미널에 입력했을 때 아무리 해도 해당 경로가 없다는 문구가 떠서, 이와 관련하여 검색해봄. -> EC2에 CodeDeploy 설치가 필요했다.

//사전에 wget 설치 필요함!
wget https://aws-codedeploy-ap-northeast-2.s3.amazonaws.com/latest/install

다음 명령어로 설치가 제대로 되었는지 확인한다

sudo service codedeploy-agent status

그러면 터미널에 아래와 같이 뜨는데 정상 설치되었다는 뜻이다.

codedeploy-agent.service - LSB: AWS CodeDeploy Host Agent
   Loaded: loaded (/etc/init.d/codedeploy-agent; generated)
   Active: active (running) since Wed 2022-03-30 06:32:14 UTC; 36min ago
     Docs: man:systemd-sysv-generator(8)
    Tasks: 6 (limit: 1140)
   CGroup: /system.slice/codedeploy-agent.service
           ├─13278 codedeploy-agent: master 13278
           └─13282 codedeploy-agent: InstanceAgent::Plugins::CodeDeployPlugin::CommandPoller of master 13278

Mar 30 06:53:45 ip-172-31-45-27 su[13979]: + ??? root:root
Mar 30 06:53:45 ip-172-31-45-27 su[13979]: pam_unix(su:session): session opened for user root by (uid=0)
Mar 30 06:53:45 ip-172-31-45-27 su[13979]: pam_unix(su:session): session closed for user root
Mar 30 06:53:49 ip-172-31-45-27 su[14006]: Successful su for root by root
Mar 30 06:53:49 ip-172-31-45-27 su[14006]: + ??? root:root
Mar 30 06:53:49 ip-172-31-45-27 su[14006]: pam_unix(su:session): session opened for user root by (uid=0)
lines 1-15

드디어 로그 파일을 볼 수 있음.
다음 명령어로 로그 파일을 확인한다.

cd /opt/codedeploy-agent/deployment-root/deployment-logs
nano codedeploy-agent-deployments.log

그러면 배포 과정 중 생긴 에러 로그를 다 볼 수 있음.

[2022-03-30 06:34:30.502] [d-SK3VVHUUF]LifecycleEvent - AfterInstall
[2022-03-30 06:34:30.502] [d-SK3VVHUUF]Script - scripts/initialize.sh
[2022-03-30 06:34:31.872] [d-SK3VVHUUF][stderr]WARN engine dotenv@8.6.0: wanted: {"node":">=10"} (current: {"node":"8.10.0","npm":"3.5.2"})
[2022-03-30 06:34:36.425] [d-SK3VVHUUF][stderr]WARN engine lru-cache@6.0.0: wanted: {"node":">=10"} (current: {"node":"8.10.0","npm":"3.5.2"})
[2022-03-30 06:34:38.394] [d-SK3VVHUUF][stderr]npm WARN deprecated eslint-plugin-standard@5.0.0: standard 16.0.0 and eslint-config-standard 16.0.0 no longer require th$
[2022-03-30 06:34:38.692] [d-SK3VVHUUF][stderr]WARN engine eslint@7.32.0: wanted: {"node":"^10.12.0 || >=12.0.0"} (current: {"node":"8.10.0","npm":"3.5.2"})
[2022-03-30 06:34:38.947] [d-SK3VVHUUF][stderr]WARN engine semver@7.3.5: wanted: {"node":">=10"} (current: {"node":"8.10.0","npm":"3.5.2"})
[2022-03-30 06:34:39.156] [d-SK3VVHUUF][stderr]WARN engine eslint-visitor-keys@2.1.0: wanted: {"node":">=10"} (current: {"node":"8.10.0","npm":"3.5.2"})
[2022-03-30 06:34:39.159] [d-SK3VVHUUF][stderr]WARN engine escape-string-regexp@4.0.0: wanted: {"node":">=10"} (current: {"node":"8.10.0","npm":"3.5.2"})
[2022-03-30 06:34:39.163] [d-SK3VVHUUF][stderr]WARN engine file-entry-cache@6.0.1: wanted: {"node":"^10.12.0 || >=12.0.0"} (current: {"node":"8.10.0","npm":"3.5.2"})
[2022-03-30 06:34:39.226] [d-SK3VVHUUF][stderr]WARN engine chalk@4.1.2: wanted: {"node":">=10"} (current: {"node":"8.10.0","npm":"3.5.2"})
[2022-03-30 06:34:39.235] [d-SK3VVHUUF][stderr]WARN engine @eslint/eslintrc@0.4.3: wanted: {"node":"^10.12.0 || >=12.0.0"} (current: {"node":"8.10.0","npm":"3.5.2"})
[2022-03-30 06:34:39.248] [d-SK3VVHUUF][stderr]WARN engine @humanwhocodes/config-array@0.5.0: wanted: {"node":">=10.10.0"} (current: {"node":"8.10.0","npm":"3.5.2"})
[2022-03-30 06:34:39.347] [d-SK3VVHUUF][stderr]WARN engine espree@7.3.1: wanted: {"node":"^10.12.0 || >=12.0.0"} (current: {"node":"8.10.0","npm":"3.5.2"})
[2022-03-30 06:34:39.357] [d-SK3VVHUUF][stderr]WARN engine table@6.8.0: wanted: {"node":">=10.0.0"} (current: {"node":"8.10.0","npm":"3.5.2"})
[2022-03-30 06:34:40.881] [d-SK3VVHUUF][stderr]WARN engine type-fest@0.20.2: wanted: {"node":">=10"} (current: {"node":"8.10.0","npm":"3.5.2"})
[2022-03-30 06:34:43.100] [d-SK3VVHUUF][stderr]WARN engine flat-cache@3.0.4: wanted: {"node":"^10.12.0 || >=12.0.0"} (current: {"node":"8.10.0","npm":"3.5.2"})
[2022-03-30 06:34:43.190] [d-SK3VVHUUF][stderr]npm ERR! Linux 5.4.0-1060-aws
[2022-03-30 06:34:43.190] [d-SK3VVHUUF][stderr]npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "install"
[2022-03-30 06:34:43.190] [d-SK3VVHUUF][stderr]npm ERR! node v8.10.0
[2022-03-30 06:34:43.191] [d-SK3VVHUUF][stderr]npm ERR! npm  v3.5.2
[2022-03-30 06:34:43.191] [d-SK3VVHUUF][stderr]npm ERR! code EMISSINGARG
후략..

warn은 사실 경고 정도지 에러까지는 아니다.
하지만 나로서는 이것마저도 찝찝해서 해석해봤다. 배포 과정 중에 원하는 노드 버전은 10 또는 10.12.0 이상인데 현재 버전은 8.xx버전이란다.
갑자기 이건 어디서 나온 버전인가 했다.
EC2의 노드 버전인가? 싶었다. 확신이 없었다.

다시 생각해봤다. codeDeployAgent는 로그를 EC2에 남긴다고 했다.
그리고 EC2에 IAM권한 설정을 해줬었다....그러면..

EC2의 노드 버전이겠구나 하는 어렴풋한 추측을 할 수 있었다....ㅠㅠ

그렇다고 가정을 하고, npm ERR! node v8.10.0 에러메세지를 그대로 복붙해서 검색해봤다. 다행히도 해결 방법을 여기서 친절하게 설명해주셔서 배포에 성공했다.

aws ec2 사용시 nvm , npm , node를 최신버전으로 다운했음에도 옛날버전을 사용하는 오류 해결 방법입니다

node.js 업데이트 (3개의 명령어를 차례차례 입력하세요.)
sudo npm cache clean --force
sudo npm install -g n
sudo n stable

npm 업데이트
sudo npm install -g npm

에러 메세지 읽는 법은 여기서 보고 어림짐작했다. 중괄호에다가 에러 내용을 기록하는 것 같음.

profile
몫을 다하는 사람

0개의 댓글