logo
한달 포트폴리오 멘토링
블로그

이번 포스팅에서는 배포 및 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가 좋은 선택일 것입니다. 별도의 설정이 거이 필요 없이 무료로 정적 웹페이지를 배포해줍니다.

PortfolioAD
관련있는 글

couchcoding

2022-12-07

포트폴리오(개발 프로젝트) 제작시 도움이 되는 도구들 - 1 (프로젝트 관리 & 디자인)

이번 포스팅에서는 이러한 개발 과정을 돕기 위해 개발 포트폴리오 단계별로 유용한 도구를 소개하려고 합니다. 먼저 협업을 위한 메신저, 프로젝트 관리 툴, 화면 기획 & 디자인에 사용할 수 있는 도구들을 소개하겠습니다. 다음 포스팅에선 설계 및 배포를 위한 다양한 툴들을...

개발 도구

협업도구
프로젝트 관리
화면 기획
디자인 도구
slack
notion
trello
github
whimsical
figma

couchcoding

2022-12-07

포트폴리오(개발 프로젝트) 제작시 도움이 되는 도구들 - 2 (설계, 테스팅)

저번 포스팅에서는 프로젝트 관리 및 화면 기획 및 디자인에 사용하는 도구들을 알아보았습니다. 이번에는 프로젝트 설계 및 테스팅할때 도움이 되는 도구들을 알아보겠습니다. ...

개발 도구

DB 설계
소프트웨어 설계
UML
테스팅 도구
erd
swagger
rest client
소프트웨어 정적분석
sonarqube

couchcoding

2022-12-07

충돌 없는 Git을 위해 Git Flow에 대해 알아보자

Git Flow는 Vincent Driessen가 만든 Git Branch 관리 전략입니다. Git Flow는 기능별로 Git을 관리하기 쉽고, 스크럼 프로세스에서 칸반보드와 같이 사용하기 매우 유용하고 CI/CD와도 통합하기 좋기 때문에 많은 회사들이 사용하고 있습...

개발 도구

git
git flow
프로젝트 관리
branch
협업 전략

couchcoding

카우치코딩 공식 계정입니다.