본문 바로가기

DevOps

728x90
(19)
도커(Docker) 시작하기 - 이미지, 컨테이너, 장점 :: DANIDANI 도커란? 도커는 리눅스 환경에서 컨테이너 기반의 오픈소스 가상화 플랫폼입니다. 우리가 express 애플리케이션을 만들어서 배포를 할 때를 생각해봅시다. 서버를 만들고 node를 설치하고, npm을 설치하고, git을 설치하고,,,,, git에서 pull을 받고, npm install을 해주고, npm start를 해주고,,,, 버전이 안 맞아서 다시 반복,, 등등! 아주 복잡한 과정들을 거칩니다. 그러나 express 애플리케이션을 도커 이미지로 저장해 놓는다면 언제 어디서든 pull 받고 run만 하면 실행이 됩니다. express 애플리케이션뿐만 아니라 OS, framework, tool 등 어떠한 종류라도 docker 이미지만 있다면 pull, run 처럼 똑. 같. 은 방식으로 실행이 가능합니다..
그래서 CI/CD란? - 지속적 통합, 지속적 배포 :: DANIDANI CI/CD는 애플리케이션 개발 단계를 자동화하여 애플리케이션을 보다 짧은 주기로 제공하는 방법입니다. CI = Continuous Integration(지속적 통합) 여러 명이 개발자가 작업할 경우 코드 변경 사항이 발생될 때마다 자동으로 빌드 및 테스트되어 공유 리포지토리에 통합되므로 충돌할 수 있는 문제를 해결할 수 있습니다. 코드 품질 개선과 유지보수를 위해서 중요합니다. 코드를 git에 올리면 자동으로 빌드, 테스트를 진행하고 결과를 슬랙이나 이메일등으로 보낼 수 있습니다. CD = Continuous Deployment(지속적 배포) 또는 Continuous Delivery(지속적 서비스 제공) 개발자의 변경 사항을 리포지토리에서 고객이 사용 가능한 환경까지 자동으로 릴리스하는 것을 의미합니다...
[skip ci] CircleCI에서 특정 commit 빌드 skip하는 법 :: DANIDANI git에서 프로젝트에 push를 하였을 때 CircleCI에서 자동으로 빌드가 된다. 이때, 특정 commit에 대해서 빌드를 수행하고 싶지 않은 경우는 어떻게 할까? jenkins는 plugin을 설치해야 하지만, CircleCI는 그럴 필요가 없다. 그냥 commit 메시지에 skip ci 또는 ci skip이라고만 적어주면 된다.
CircleCI + Git + NodeJS + AWS Elastic Beanstalk로 배포하기(3) - CircleCI와 EB 연동 :: DANIDANI nodejs에서 작성한 express 애플리케이션을 git에 CircleCI에서 자동 빌드가 되고 nodejs에서 작성한 테스트 코드가 실행됩니다. 빌드에 성공하고 테스트 코드도 모두 통과가 되면 AWS elastic beanstalk에 자동 배포를 해주는 ci/cd 를 구축해봅니다. ➡️ 1편으로 바로가기 2020/11/05 - [DevOps/CircleCI] - CircleCI + Git + NodeJS + AWS Elastic Beanstalk로 배포하기(1) - CircleCI와 Git 연동 ➡️ 2편으로 바로가기 2020/11/05 - [DevOps/CircleCI] - CircleCI + Git + NodeJS + AWS Elastic Beanstalk로 배포하기(2) - CircleCI Te..
CircleCI + Git + NodeJS + AWS Elastic Beanstalk로 배포하기(2) - CircleCI Test Result :: DANIDANI nodejs에서 작성한 express 애플리케이션을 git에 CircleCI에서 자동 빌드가 되고 nodejs에서 작성한 테스트 코드가 실행됩니다. 빌드에 성공하고 테스트 코드도 모두 통과가 되면 AWS elastic beanstalk에 자동 배포를 해주는 ci/cd를 구축해봅니다. ➡️ 1편으로 바로가기 2020/11/05 - [DevOps/CircleCI] - CircleCI + Git + NodeJS + AWS Elastic Beanstalk로 배포하기(1) - CircleCI와 Git 연동 1. Config.yml 수정 CircleCI의 설정파일인 config.yml 파일을 수정해줍니다. store_test_results에 path는 저장된 테스트 결과 파일의 주소를 입력해줍니다. CircleCI..
CircleCI + Git + NodeJS + AWS Elastic Beanstalk로 배포하기(1) - CircleCI와 Git 연동 :: DANIDANI nodejs에서 작성한 express 애플리케이션을 git에 CircleCI에서 자동 빌드가 되고 nodejs에서 작성한 테스트 코드가 실행됩니다. 빌드에 성공하고 테스트 코드도 모두 통과가 되면 AWS elastic beanstalk에 자동 배포를 해주는 ci/cd 를 구축해봅니다. CircleCI는 Jenkins와 다르게 별도의 설치가 필요없습니다. 아래의 링크에 들어가서 로그인하시면 됩니다. GitHub로그인하면 바로 연동이 가능합니다! https://circleci.com/vcs-authorize/ Add Projects를 누르고 연결하려는 프로젝트에 Set Up Project를 눌러줍니다. CircleCI의 설정파일인 confing.yml을 작성할 수 있습니다. Node로 설정을하면 자동으로 기..
[skip ci] Jenkins에서 특정 commit 빌드 skip하는 법 :: DANIDANI git에서 프로젝트에 push를 하였을 때 webhook으로 jenkins에 전달되는 경우 모든 트리거에 대해서 빌드를 수행하게 된다. 이때, 특정 commit에 대해서 빌드를 수행하고 싶지 않은 경우는 어떻게 할까? 우선, Ci Skip Plugin 을 설치해준다. 그 다음에 해당하는 '프로젝트 - 구성 - 빌드환경' 에서 Enable ck-skip을 선택해준다. git에서 commit시 메세지에 ci skip 이나 skip ci라고 적어주면 빌드를 수행하지 않는다!
Jenkins + Git + NodeJS + AWS Elastic Beanstalk로 배포하기(4) - 빌드 성공 시 EB로 자동 배포 :: DANIDANI nodejs에서 작성한 express 애플리케이션을 git에 올리면 트리거를 이용해 jenkins에서 자동 빌드가 되고 nodejs에서 작성한 테스트 코드가 실행됩니다. 빌드에 성공하고 테스트 코드도 모두 통과가 되면 AWS elastic beanstalk에 자동 배포를 해주는 ci/cd 를 구축해봅니다. (1) 편으로 바로가기 2020/10/29 - [DevOps/Jenkins] - Jenkins + Git + NodeJS + AWS Elastic Beanstalk로 배포하기(1) - Jenkins 설치 및 기본 세팅, git 연결 (2) 편으로 바로가기 2020/10/30 - [DevOps/Jenkins] - Jenkins + Git + NodeJS + AWS Elastic Beanstalk로 배포하..