AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

컨베이어 CI 드라이버 런타임 기여 가이드

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

DevOps

대상자

CI/CD 도구 개발자, Conveyor CI SDK 기여자, DevOps 엔지니어

(중급~고급 수준: Docker, API 인터페이스, 코드 기여 프로세스 이해 필요)

핵심 요약

  • 컨베이어 CI 드라이버 런타임Driver ManagerClient Library로 구성된 SDK로, 드라이버 실행 환경을 제공
  • 핵심 기능: 이벤트 시스템(NATS Jetstream), 실시간 로깅(Grafana Loki), 수평 확장, API 서버 연동, 관찰성(메트릭/트레이싱/로깅)
  • 기여 프로세스: Docker 환경 설정 → compose.ymlloki.yml 다운로드 → forkbranch 생성 → 테스트 작성 → PR 제출

섹션별 세부 요약

1. 런타임 구성 요소

  • Driver Manager:

- NATS Jetstream을 통해 messages 스트림에서 이벤트 수신 및 필터링

- Reconcile 함수 실행: payload, event, driverName, logger 매개변수 전달

- 로깅 기능: driver:{DRIVER_NAME}:logs:{RUN_ID} 주제로 실시간 스트리밍

  • Client Library:

- Conveyor CI API Server와의 HTTP 통신

- API 호스트, 포트 정보 가져오기

2. 개발 환경 설정

  • 필수 도구: Docker 설치 및 compose.yml, loki.yml 다운로드
  • 실행 명령: docker compose up 또는 docker compose up -d
  • 포트 설정: CONVEYOR_SERVER_HOSTCONVEYOR_SERVER_PORT 환경 변수 사용

3. 기여 워크플로우

  • 이슈 신고:

- 명확한 제목, 재현 단계, 예상 결과, 실제 결과 포함

- 기존 이슈 중복 확인 필수

  • 기능 추가:

- 기능의 필요성, 사용 시나리오, 구현 제안 명시

- 요청은 단일 변경에 집중

  • 코드 기여:

- forkclonebranch 생성 → 변경사항 반영 → 테스트 작성 → 커밋 → push → PR 제출

- PR 기준: 단일 변경사항, 테스트 완료, 코드 스타일 준수

결론

  • DockerNATS Jetstream 기반 환경 설정을 통해 런타임 테스트 가능
  • PR 제출 시 테스트 커버리지 확대, 문서 개선, 코드 스타일 준수를 강조
  • 관찰성 플랫폼 구현을 위해 메트릭/트레이싱/로깅 기능을 반드시 통합해야 함