DevOps/CI-CD 5

[브랜치 전략] Git hub flow, Git flow 워크플로우 비교

Github flow와 Git flow는 Git 기반의 브랜치 전략 워크 플로우 입니다. 개발팀 조직의 규모나 니즈에 맞게, 선택해서 사용 하는 것이 일반적 입니다. Github flow 기본적인 브랜치 전략으로, 단순하고 간결하며, 지속적인 배포에 중점을 둔 워크 플로우 입니다. 주요 브랜치로는 Main 브랜치, Feature 브랜치, State/Production 브랜치 (Optional) 가 있다. 📂 Github Workflow 1) Feature 브랜치에서 기능 개발 2) Feature 브랜치에서 Main 브랜치로 Pull Request 및 Merge 3) Main 브랜치에서 Stage 브랜치나 Production 브랜치로 최종 Merge - 여기서 Stage나 Production 브랜치는, 운..

DevOps/CI-CD 2023.09.01

[Jenkins] Jenkins Pipeline 슬랙 연동 (with. 선언형, 스크립트형)

Jenkins Pipeline Slack Notification 연동 방법 1. Slack에서 Jenkins 앱을 추가로 설치한다. 2. Slack에서 Jenkins Pipeline에 대한 결과 notification을 수신할 채널을 생성한다. (#jenkins_cicd) 아래 3~5 부터는 다음 링크 참조하면 좋음 3. Slack에서 해당 워크 스페이스에 대한 이름과, Integreation Token Credential ID를 확인 한다. 4. Jenkins에서 Slack Notification Plugin을 설치한다. 5. Jenkins System에서 슬랙 관련 정보를 등록한다. 5.1 Workspace : Team Subdomain 값 5.2 Credential : 신규 생성 - kind : s..

DevOps/CI-CD 2023.08.31

[Jenkins] Jenkins 란? (with. docker)

Jenkins 란? 젠킨스(Jenkins)는 지속적 통합(Continuous Integration, CI) 및 지속적 전달(Continuous Delivery, CD)를 지원하기 위해 개발된 오픈 소스 자동화 도구로, 소프트웨어 개발 및 배포 과정에서 자동화된 빌드, 테스트, 배포 작업을 수행하여 개발자와 팀이 소프트웨어를 빠르게 개발하고 안정적으로 배포할 수 있도록 도와줌 Jenkins 주요 특징 지속적 통합(CI): 소스 코드 변경이 발생할 때마다 자동으로 빌드 및 테스트를 실행하여 코드 품질을 유지함 지속적 전달(CD): 테스트 및 빌드가 성공하면, Staging / Production 환경으로 자동 배포 다양한 플러그인 지원 : AWS, Docker 등 다양한 플러그인 등을 지원하여, 특정 기능을..

DevOps/CI-CD 2023.08.30

[DevOps]서비스 무중단배포 전략 설계하기 (+실제 프로젝트 적용)

무중단 배포란? 배포 중인 서비스의 변경사항 적용시 서비스가 중단되는 현상 없이 이루어지게 작업하는 방법 무중단 배포 방법엔 크게 3가지 방법이 있다. 1. 롤링 배포 2. Blue/Green 배포 3. 카나리 배포 롤링(Rolling) 배포 롤링 배포는 사용중인 인스턴스 들을 새 버전으로 점진적으로 교체하는 방식. EX) 서비스 중인 인스턴스 하나를 Loadbalancer에서 제외시키고, 새 버전으로 적용 및 순차적으로 적용함 장점 인스턴스를 차례대로 전환하기 때문에 배포중 문제가 생기더라도 Rollback 등으로 대응 가능 단점 새 버전 전환 중 실 서비스에 대응되는 인스턴스 수가 감소하기 때문에 트래픽이 몰릴 수 있음 서비스 처리 용량에 대한 고려 필요 배포 진행 간 구/신 버전 공존으로 인한 호환..

DevOps/CI-CD 2022.10.07

[CI & CD] Github Action 정리

👉 Github Action 문법 Github Action을 정의하는 용어(개념)에는 Workflow, Event, Job, Step, Action, Runner 등이 있음 1. Workflow 최상위 개념으로 전체 자동화 하려는 과정들에 총칭 단일 or 복수개의 Job으로 구성되며, Event에 의해 trigger됨 Git Repo의 .github/workflows 폴더 아래에 저장됨 2. Event workflow를 Trigger하는 역할 특정 branch push / pull request / cronjob 등이 예시에 해당 3. Jobs Job은 여러 Step으로 구성되고, 가상 환경의 인스턴스에서 실행됨 다른 Job에 의존 관계를 가질 수 있고, 독립적으로 병렬 실행도 가능함 동일한 runner..

DevOps/CI-CD 2022.07.12