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

Postman Mock Server로 팀 프로젝트의 개발 속도와 갈등을 개선하기

프로젝트의 개발 효율을 저해시키는 요소에는 정말 여러가지가 있습니다. Mock Server는 개발 효율을 저해시키는 요소 중에 개발 병목현상과 불명확한 커뮤니케이션을 해결할 수 있는 좋은 솔루션입니다. 여기 백엔드 개발자 A와 프론트엔드 개발자 B가 같이 개발을 하는...

개발 도구

협업도구
API 설계
API
mock server
postman

couchcoding

2022-12-07

[Git] 실무에서 사용하는 명령어들을 빠르게 알아보자 (1)

Git은 개발자가 반드시 알아야할 기술 중 첫번째로 뽑을 정도로 굉장히 중요한 기술입니다. 그 Git을 제대로 공부하기는 매우 어렵고, 대부분의 상황에서는 그 모든 것을 알 필요는 없습니다. 그래서 이번 포스팅에서는 실무에서 사용하는 필수 명령어들을 알아보도록 하겠습...

개발 도구

git
commit
push
pull
add
git 충돌 해결

couchcoding

2022-12-07

당신이 Docker로 개발환경을 구축해야 하는 이유(Docker로 Postgresql과 Redis 설치하기 예제)

도커는 리눅스 가상화 시스템으로 사용해보면 Virtual Machine(이하 VM)과 같이 내 컴퓨터에 독립된 리눅스 운영체제 환경을 만든 느낌을 받을 수 있습니다. 그러나 사용해 보면 VM과 달리 굉장히 가벼운 것을 알 수 있습니다. ...

개발 도구

배포
redis
docker
개발환경
postgres

couchcoding

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