본문 바로가기

개발일지

[사이드프로젝트] 자동 배포

github main 브랜치에 머지하면 자동으로 배포하도록 하고싶음.

현재는 머지 되면 내가 직접 ec2 들어가서 git pull 받는 상황.

 

https://ms3864.tistory.com/383?category=1003779 

 

github action으로 ec2에 자동배포하기3

https://ms3864.tistory.com/381 github action으로 ec2에 자동배포하기1 우아한테크캠프 마지막 프로젝트 때 나는 자동배포부분을 맡지 않아서 꼭 혼자서 다시 해보고 싶었다. 그리고 삽집도 많이했는데 다

ms3864.tistory.com

 

이게 설명이 잘 되있고 회사 코드 보면서 공부좀 해야겠다.

 

ec2 사용하는 사람은 codeDeploy 따로 비용이 안나간다고 하길래 codeDeploy 사용하려고 함.

 

https://ltlkodae.tistory.com/m/23

 

AWS CodeDeploy 사용법 (feat. EC2 배포, 실패 log 확인, 요금)

AWS CodeDepoly란? 쉽게 말해, AWS에서 제공하는 배포서비스이다. 이름 그대로 Application 배포를 관리한다. Regional 서비스이므로 Region 단위로 배포 및 Application 관리가 가능하다. CodeDeploy를 사용해서..

ltlkodae.tistory.com

 

아 근데 정확히는 github 코드를 s3에 올려야 하는건지 의문이 드는데.. 다시 한번 보자.

 

 

자꾸 after-deploy.sh 에 써둔 yarn이 실행이 안되는것 같아서 아래 글로 해결했다. 근데 이제 다른 오류 남.

 

https://for-development.tistory.com/28

 

EC2 인스턴스에서 yarm install이 안 될 때

stackoverflow.com/questions/46013544/yarn-install-command-error-no-such-file-or-directory-install/52357140 Yarn install command error No such file or directory: 'install' I am installing sylius bund..

for-development.tistory.com

 

 

자꾸 아래 사진과 같은 오류가 나길래 package.json 에 engine을 node 16버전 이상으로 지정해주었다. 

결국 이래도 해결이 안되어서  아래 문서로 해결.

https://stackoverflow.com/questions/45088031/how-to-ignore-incompatible-engine-node-error-on-installing-npm-dependencies-wi

 

How to ignore incompatible engine "node" error on installing npm dependencies with yarn?

Given this package.json: { "name": "yarn-install-fail", "version": "1.0.0", "description": "", "main": "index.js", "scripts": {}, "author": "", "license": "ISC", "dependencies": { ...

stackoverflow.com

 

이번엔 pm2 를 못읽길래 아래와 같은 방법으로 해보았다.

 

https://github.com/Unitech/pm2/issues/3621

 

aws codedeploy pm2 command not found. · Issue #3621 · Unitech/pm2

I am trying to deploy nodeJS application using pm2, when i write on my console pm2 is working fine. but when i start code deploy processes it gives me error pm2 command not found. LifecycleEvent - ...

github.com

 

위 글로도 안되서 아래 글보고 실행

 

https://www.jyoo.dev/posts/deploying-code-on-github-and-ec2-using-aws-codedeploy-2

 

Deploying Code on GitHub and EC2 Using AWS CodeDeploy (2)

This is the second writing about deploying a Node.js app using CI/CD tools, AWS CodeDeploy and AWS CodePipeline.

www.jyoo.dev

 

그래도 안되서 확인했더니 내가 pm2를 글로벌로 설치를 안했었다..

 

눈물난다..

 

이제 마스터 브랜치에 머지만 하면 운영 배포 된다. 하... 눈물난다.