본문 바로가기

CICD3

Jenkins(젠킨스), GitLab ↔ Jenkins ↔ EC2 연동하여 CI/CD 구축 🔍 Jenkins(젠킨스) 소프트웨어 개발 시 지속적으로 통합 서비스를 제공하는 툴 = CI (Continuous Integration) 젠킨스는 서브버전, Git 과 같은 버전 관리시스템과 연동하여 소스의 커밋을 감지하면 자동적으로 자동화 테스트가 포함된 빌드가 작동되도록 설정할 수 있다. ✅ 설치조건 최소 하드웨어 요구 사항 256MB RAM 1GB 드라이브 공간(Jenkins를 Docker로 실행하는 경우 최소 10GB 권장) 📌 GitLab 설정 1. Access Tokens 발급 프로젝트 → Settings → Access Tokens → 화면에 나온대로 입력, 체크 → Create project access token ( access token은 한번만 볼수있기 때문에 미리 저장해두기 ) 📌 .. 2023. 2. 5.
Nginx(엔진엑스) 개념정리 및 설치, Blue/Green 무중단배포란? Nginx 란? 시장에서 점유율이 높은 apache와 같은 웹서버 중 하나로 가벼우면서 여러 요청을 한 번에 처리할 수 있는 장점을 가진다. 또 apache 보다 동작이 단순하고 전달자 역할만 하기 때문에 동시접속에 특화되어 있다. 예를 들어 동시접속자가 700명 이상이라면 서버를 증설하거나, nginx 환경을 권장한다고 할 정도로 성능이 좋고 다중접속에 특화되어있다. nginx의 구동 방식은 Event Driven(비동기처리방식)으로 요청이 들어오면 어떤 동작을 해야하는지만 알려주고 다른 요청을 처리하는 방식이다. 그렇기 때문에 CPU와 관계없이 모든 입/출력들을 전부 Event Listener로 전달해서 흐름이 끊기지 않고 응답이 빠르게 진행되어 1개의 프로세스로 보다 더 빠른 작업이 가능하게 된다... 2023. 1. 16.
CICD란? crontab 사용하여 자동 배포해보기(CD) CICD란? 애플리케이션 개발 단계를 자동화하여 애플리케이션을 더욱 짧은 주기로 고객에게 제공하는 방법 기본 개념은 지속적인 통합, 지속적인 서비스 제공, 지속적인 배포 새로운 코드 통합으로 인해 개발 및 운영팀에 발생하는 문제를 해결하기 위한 솔루션 CI (Continuous Integration : 지속적인 통합) - 빌드, 테스트 자동화 과정 - 애플리케이션에 대한 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트되어 공유 리포지토리에 통합되므로 여러 명의 개발자가 동시에 애플리케이션 개발과 관련된 코드 작업을 할 경우 서로 충돌할 수 있는 문제를 해결 할 수 있음 CD (Continuous Deployment : 지속적인 배포) - Continuous Delivery : 지속적인 서비스 제공 -.. 2023. 1. 8.