Azure 가상 아키텍처에서 Jenkins 및 Terraform을 사용 하는 변경할 수 없는 인프라 CI/CD 개요

Log Analytics
Managed Disks
Virtual Machine Scale Sets
GitHub

솔루션 아이디어

잠재적인 사용 사례, 대체 서비스, 구현 고려 사항 또는 가격 책정 지침과 같은 추가 정보를 사용하여 이 문서를 확장하려는 경우 GitHub 피드백을통해 알려주세요!

Azure는 Windows 또는 Linux를 실행 하는 가상 컴퓨터를 호스트 하기 위한 세계적인 수준의 클라우드입니다. Java, Node.js, Go 또는 PHP를 사용 하 여 응용 프로그램을 개발 하는 경우에는 이러한 가상 컴퓨터에 대 한 변경 내용을 자동으로 푸시하는 CI/CD (지속적인 통합 및 지속적인 배포) 파이프라인이 필요 합니다.

Architecture

아키텍처 다이어그램 이 아키텍처의 SVG 를 다운로드 합니다.

데이터 흐름

  1. 애플리케이션 소스 코드를 변경합니다.
  2. GitHub 코드를 커밋합니다.
  3. Jenkins에 대 한 연속 통합 트리거입니다.
  4. Jenkins는 VM을 만들고 Azure Managed Disks를 사용 하 여 VM 이미지로 저장 하는 패키지 만들기 이미지 빌드를 트리거합니다.
  5. Jenkins는 Terraform을 트리거하여 Azure Managed Disks VM 이미지를 사용 하 여 새 가상 머신 확장 집합을 프로 비전 합니다.
  6. Azure Log Analytics는 로그를 수집 하 고 분석 합니다.
  7. 응용 프로그램을 모니터링 하 고 개선 합니다.

구성 요소

  • Managed Disks: Azure virtual machines를 위한 영구 보안 디스크 저장소입니다.
  • Virtual Machine Scale Sets: 수천 대의 Linux 및 Windows 가상 머신을 관리 하 고 확장 합니다.
  • Log Analytics: 온-프레미스 및 클라우드에서 컴퓨터 데이터를 수집, 검색 및 시각화 합니다.
  • Visual Studio Code: Azure 서비스를 최대한 활용 하기 위해 다중 플랫폼 앱을 빌드 및 배포 합니다.

다음 단계

Azure에 배포