포트폴리오(개발 프로젝트) 제작시 도움이 되는 도구들 - 3 (CI/CD, Hosting)

카우치코딩·2021년 9월 30일
11

포트폴리오강의

목록 보기
8/20
post-thumbnail

이전 포스팅에서 디자인서 부터 설계 테스팅에 이용하기 좋은 도구들을 알아보았습니다.

이번 포스팅에서는 배포 및 CI/CD 및 Hosting에 사용할 수 있는 도구들을 알아보도록 하겠습니다. 주로 무료이면서 간편한 툴 위주로 소개하였습니다.

CI/CD

CI/CD는 테스팅, 빌드, 배포 과정을 주기적으로 주기적으로 동작하게 자동화 하는 도구를 말합니다. 자세한 내용이 궁금하시면 여기를 참고하세요

Github Actions

Github ActionsGithub에 내장된 CI/CD 도구입니다. Github에 내장되 있는 CI/CD라 github와 통합이 쉽고, CI/CD 동작 서버가 내장 되어 CI/CD서버를 따로 구축할 필요 없으며, 일정 수준까지 가격이 무료 라서 개인 프로젝트를 수행할떄 진입장벽 없이 쉽게 선택할 수 있는 도구 입니다.

.github/workflows 폴더안에 yml로 스크립트를 생성하면 별도의 설정 없이 github에 action이 추가된 것을 확인할 수 있습니다. 자세한 사용법이 궁금하시면 이전에 작성한 포스팅을 확인해 보세요

Github Actions외에 비슷하게 yaml이나 yml로 스크립트를 설정하고 CI/CD서버를 제공해주는 서비스로는 Circle CITravis CI가 존재하니 Github 프로젝트가 아닐경우 고려해보시면 좋습니다. (두 서비스 다 무료 제공이 있습니다.)

Jenkins


Jenkins는 설치형 CI/CD로 기업에서 가장 많이 사용하는 CI/CD입니다. 앞서 소개한 서비스가 클라우드 형태로 일정 조건을 초과하면 요금을 청구하는 형태로 되어있지만, Jenkins는 설치형으로 다운받아서 설치하면 어디서든 동작시킬 수 있습니다.

가장 유명한 CI/CD 답게 많은 문서가 존재하며 다양한 업무를 Jenkins에서 자동화 할 수 있습니다. 그러나 CI/CD 동작 서버가 내장되어 있지 않기 때문에 직접 서버를 구매해서 동작해야하는 번거로움과, 설치 및 환경설정에 진입장벽이 있습니다.

Hosting

Heroku


Heroku는 무료로 서버를 호스팅 할 수 있게 해주는 PaaS 서비스 입니다. AWS Ec2와 같은 IaaS와 달리 PaaS서비스인 Heroku는 서버를 직접 셋업할 필요 없이 git 방식으로 Heroku Origin에 push할 경우 자동으로 서버를 배포해줍니다. 또한 기본적으로 Heroku 서비스 URL과 HTTPS를 제공해주고, postgresql을 제공해 줍니다. 매우 간편하게 모든 인프라를 배포를 할 수 있죠.

그러나 무료 호스팅의 경우 일정 시간동안 요청이 없으면 서버를 종료시켰다가 요청이 올때 다시 시작하기 때문에 첫 유저의 반응속도가 매우 느리며 내부 파일을 저장할 수 없습니다. 또한 파일 서버를 따로 제공해주지 않기 때문에 이미지 업로드 등의 기능을 사용하려면 AWS S3와 같은 다른 서비스와 융합할 필요가 있습니다.

Netlify

만약에 백엔드 서버가 따로 없이 프론트엔드 기술스택만 가지고 포트폴리오를 배포하려면 Netlify가 좋은 선택일 것입니다. 별도의 설정이 거이 필요 없이 무료로 정적 웹페이지를 배포해줍니다.

포트폴리오 제작 전 과정을 가이드를 받고싶다면

카우치코딩에서는 6주 포트폴리오 수업을 통해 기획 ~ 배포까지의 과정을 멘토링하고 있습니다. 기획 ~ 배포까지의 과정을 전부 경험하고 싶으면 방문해주세요~

profile
포트폴리오 수업 & 코딩 멘토링 서비스 카우치코딩입니다.

0개의 댓글