InfoGrab Docs

파이프라인 지속 가능성

지속 가능성 도구를 사용하여 CI/CD 파이프라인의 탄소 발자국을 측정하고 줄입니다.

Note 이 페이지에 설명된 지속 가능성 도구는 타사 통합입니다. GitLab은 이러한 도구를 유지하거나 지원을 제공하지 않으며, 이러한 도구가 규제 또는 규정 준수 요구 사항을 충족한다는 것을 보증하지 않습니다. CI/CD 파이프라인은 탄소 배출을 유발하는 컴퓨팅 리소스를 소비합니다. 지속 가능성 보고와 규제 준수를 위해 소프트웨어 개발 워크플로에서 발생하는 Scope 3 배출량을 측정하고 줄이기 위해 타사 도구를 통합할 수 있습니다. Scope 3 배출량은 CI/CD 파이프라인을 실행하는 클라우드 인프라를 포함한 공급망 및 공급업체의 간접 배출량입니다. 지속 가능성 도구를 파이프라인에 통합하면 다음과 같은 이점을 제공합니다: CI/CD 인프라에서 탄소 배출량을 추적하고 보고합니다. 리소스 집약적인 job과 최적화 기회를 식별합니다. 러너 선택 및 job 예약에 대한 데이터 기반 결정을 내립니다. 지속 가능성 목표와 규제 요구 사항을 충족합니다. 배출량 측정 # CI/CD 파이프라인 배출량은 job 실행에 사용된 컴퓨팅 리소스에서 발생합니다. 탄소 발자국은 CPU 사용률, 메모리 사용량, 실행 시간으로 인한 에너지 소비에 따라 달라집니다. 또한 지역과 하루 시간에 따라 변하는 탄소 강도(전기 단위당 탄소 배출량)에 따라 달라집니다. 클라우드 공급자, 데이터 센터 위치, 하드웨어 효율성과 같은 인프라 요소도 전반적인 영향에 기여합니다. 지속 가능성 도구는 다양한 접근 방식으로 배출량을 계산합니다: 추정 모델은 CPU 사용 패턴과 미리 계산된 전력 곡선을 기반으로 에너지 소비를 계산합니다. 실제 측정은 클라우드 공급자 API를 사용하여 실제 리소스 소비 데이터를 검색합니다. 탄소 강도 조회는 Electricity Maps 와 같은 서비스를 쿼리하여 지역 탄소 계수와 시간 기반 변동을 적용합니다. Eco CI로 배출량 측정 # Eco CI는 CI/CD 파이프라인의 에너지 소비와 탄소 배출량을 측정합니다. 파이프라인 job 내에서 경량 bash 스크립트로 실행되며 별도의 서버나 데이터베이스가 필요하지 않습니다. 자세한 내용은 Eco CI 를 참조하세요. 모범 사례 # CI/CD 파이프라인의 탄소 발자국을 줄이기 위한 다음 전략을 고려하세요. job 실행 최적화 # job 실행을 최적화하려면: 캐싱을 사용하여 중복 작업을 방지합니다. 여러 job의 시작 부분에서 리소스 집약적인 빌드를 실행하는 대신 초기 job에서 빌드를 한 번 실행합니다. 그런 다음 출력을 필요로 하는 모든 이후 job과 아티팩트로 공유합니다. 적절한 타임아웃 값을 설정하여 무한 실행 job을 방지합니다. 더 작은 Docker 이미지를 사용하여 다운로드 및 시작 시간을 줄입니다. 효율적인 러너 선택 # 효율적인 러너를 선택하려면: 워크로드 요구 사항에 맞는 러너 인스턴스 유형을 선택합니다. 간단한 job에 대한 리소스 과다 프로비저닝을 방지합니다. 중요하지 않은 워크로드에 스팟 인스턴스 사용을 고려합니다. 자동 확장을 사용하여 용량을 수요에 맞춥니다. 전략적 예약 # 전략적으