InfoGrab Docs

Eco CI

Eco CI로 CI/CD 파이프라인의 에너지 소비와 탄소 배출을 측정합니다.

Note Eco CI는 GitLab CI/CD 파이프라인과 통합되는 서드파티 도구입니다. GitLab은 이 도구를 유지 관리하거나 지원을 제공하지 않으며, 이 도구가 규제 또는 컴플라이언스 요구사항을 충족한다는 것을 보장하지 않습니다. Eco CI 는 CI/CD 파이프라인의 에너지 소비와 탄소 배출을 측정하는 오픈소스 도구입니다. 파이프라인 job 내에서 경량 bash 스크립트로 실행되며, 별도의 서버나 데이터베이스가 필요하지 않습니다. 파이프라인 job의 명령어 앞뒤에 측정 스크립트를 배치합니다. 이 도구는 명령어 실행 중 CPU 사용률을 모니터링하고, SPECpower 데이터베이스에서 미리 계산된 전력 곡선을 사용하여 에너지 소비를 계산합니다. 모든 측정 결과를 텍스트 파일로 저장하며, job 아티팩트로 저장하여 다운로드하고 볼 수 있습니다. 역사적 분석을 위해 외부 대시보드로 결과를 전송할 수도 있습니다. 파이프라인에 Eco CI 추가 # job 실행 중 에너지 소비와 탄소 배출을 측정하기 위해 파이프라인에 Eco CI를 추가합니다. Eco CI는 ECO_CI_LABEL 변수를 사용하여 측정값을 식별하고 그룹화하므로, 프로젝트 또는 파이프라인 Stage를 나타내는 설명적인 이름을 선택하세요. 기본적으로 측정 데이터는 분석을 위해 Green Coding Solutions 대시보드로 전송되지만, ECO_CI_SEND_DATA 를 false 로 설정하여 로컬에만 결과를 저장할 수 있습니다. 사전 요구사항: bash 지원이 있는 러너에서 실행되는 파이프라인 job. curl , jq , awk , bash , git , coreutils 유틸리티가 있는 러너 환경. 파이프라인에 Eco CI를 추가하려면: .gitlab-ci.yml 파일에 Eco CI 템플릿을 포함하고 프로젝트 식별자를 구성합니다: variables: ECO_CI_LABEL: "my-project-pipeline" ECO_CI_SEND_DATA: "false" include: - remote: 'https://raw.githubusercontent.com/green-coding-solutions/eco-ci-energy-estimation/main/eco-ci-gitlab.yml' job에 측정 스크립트를 추가합니다: build-job: image: node:alpine before_script: - apk add --no-cache curl jq gawk bash git coreutils script: - !reference [ .start_measurement , script ] - npm install - npm run build - npm test - !reference [ .get_measurement , script ] - !reference [ .display_results , script ] artifacts: paths: - eco-ci-output.txt - metrics.txt expire_in: 1 week 선택 사항. 명령어를 별도로 측정하려면 각 명