글 내용으로는 aws에 docker를 사용하여 jenkins, niginx, node server를 모두 띄웠지만 이 모든걸 aws 프리티어 무료 버전 ram 1GB 짜리에서 돌리기엔 무리가 있었다. 가장 큰 문제점으로는 jenkins가 빌드할때 자주 멈춰버리는 현상이 있는 것이였는데 이대로는 프로젝트를 진행하기 어렵다는 판단하여 집에 있던 라즈베리파이를 가져와서 jenkins 서버로 따로 빼서 사용하기로 했다.
라즈베리에 jenkins 서버를 구성하는건 크게 어렵지 않았다. 집에서 사용하는 공유기의 포트포워딩을 적용하고 라즈베리에 접속하여 docker를 설치한 후 jenkins 서버를 띄우면 끝인데. 공식 jenkins는 라즈베리의 cpu에 맞지 않아서 사용하진 못하고 docker hub에 arm용을 따로 올려주신 분이 계시다. 그걸 사용하면 된다.
그 이후의 구성과 파이프라인은 그 전 구성을 동일하게 가져왔다.
이전에 내가 했던 프로젝트 중 아직 완성은 아니지만 google api와 node를 공부하기 위해 진행했던 프로젝트가 있었는데 현재 서버로 이전하여 이 프로젝트도 파이프라인을 구성하여 자동 배포할 수 있도록 바꿔놓았다. 그런데 이런 저런 세팅을 하다보니 jenkins를 고려하지 않고 프로젝트를 진행했을 때 여러 문제점을 알수 있게되어서 다음에는 이런 문제점이 발생하지 않도록 프로젝트를 구성해야겠다.
내가 발생했던 문제점은 node의 dotenv를 사용하며 api key값을 숨기기 위한 작업이였는데 해당 내용은 secret한 작업이기 때문에 docker hub나 git hub 어디에도 올라가서는 안된다. 물론 repository 자체가 private하면 상관 없겠지만... 그러면 다른 사람들이 내 프로젝트 코드를 못 보니까ㅜㅜ 이점은 docker-compose를 사용하거나 파이프 라인을 작성할때 파일을 생성/전송 하는 명령어를 넣어서 진행하는 식으로 해야할거 같다.
이런식의 구조로 진행하게 되었다. aws에 프로젝트를 2개 올려두었고 3번째를 진행해야하는데 aws가 버텨줄까 또 걱정이다 ㅜㅜ 안되면 eats는 코드로만 보여야지...ㅜ