개요

Jenkins 환경에 Continuous Testing 테스트를 추가합니다.

Datadog은 기존 Jenkins 아키텍처를 모델링하고 비즈니스 요구 사항에 맞는 설치를 결정하기 위해 SRE 및 인프라 팀과 논의할 것을 권장합니다.

설정

Jenkins 환경에서 Docker를 사용하려면 파이프라인으로 Docker 사용하기를 참고하세요.

전제 조건

  • Node.js v10.24.1+
  • Config File Provider를 통해 Jenkins 인스턴스에 업로드 된 글로벌 JSON 설정 파일입니다. 이 파일은 Synthetics 테스트 설정에 대한 글로벌 속성을 정의하는데 필요합니다.

환경 변수를 글로벌 설정 파일에 직접 저장하거나 사용자 자격 증명을 사용할 수 있습니다. 테스트 설정에 관한 자세한 내용은 테스트 설정을 참고하세요.

@datadog/datadog-ci 패키지 실행

Jenkins Node.js 플러그인을 사용해 Jenkins 환경에서 Node.js와 NPM 패키지를 설치하고 실행하세요.

기존 Datadog-Jenkins 통합에 관한 자세한 정보는 Jenkins 파이프라인에서 트레이스 설정을 참고하세요.

Node.js 설치 추가

글로벌 Jenkins 설정 패널로 이동하여 Node.js 설치를 추가합니다.

Node.js Installations in Jenkins

모든 관련 Node.js 설치에 @datadog/datadog-ci를 전체적으로 설치합니다.

태그

Jenkins Declarative 파이프라인에서 태그로 Continuous Testing 테스트를 실행하려면:

pipeline {
   agent any
   stages {
       stage('Run e2e tests') {
           steps {
               withCredentials([string(credentialsId: 'datadog-api-key', variable: 'DATADOG_API_KEY'), string(credentialsId: 'datadog-app-key', variable: 'DATADOG_APP_KEY')]) {
                   nodejs(nodeJSInstallationName: 'Node 10.24.x') {
                       configFileProvider(
                           [configFile(fileId: 'config-file-id', variable: 'DATADOG_CI_CONFIG')]) {
                           sh 'datadog-ci synthetics run-tests -s "tag:e2e" --config $DATADOG_CI_CONFIG'
                       }
                   }
               }
           }
       }
   }

커스텀 테스트 파일

Jenkins Declarative 파이프라인에서 커스텀 테스트 파일로 Continuous Testing 테스트를 실행하려면:

pipeline {
   agent any
   stages {
       stage('Run e2e tests') {
           steps {
               withCredentials([string(credentialsId: 'datadog-api-key', variable: 'DATADOG_API_KEY'), string(credentialsId: 'datadog-app-key', variable: 'DATADOG_APP_KEY')]) {
                   nodejs(nodeJSInstallationName: 'Node 10.24.x') {
                       configFileProvider(
                           [configFile(fileId: 'config-file-id', variable: 'DATADOG_CI_CONFIG'), configFile(fileId: 'test-file-id', variable: 'DATADOG_CI_TEST_FILE')]) {
                           sh 'datadog-ci synthetics run-tests -f $DATADOG_CI_TEST_FILE --config $DATADOG_CI_CONFIG'
                       }
                   }
               }
           }
       }
   }
}

다음과 같은 출력이 나타납니다:

Example Test Run in Jenkins

참고 자료

PREVIEWING: mervebolat/span-id-preprocessing