사용자 도구

사이트 도구


ci:jenkins:pipeline

문서의 이전 판입니다!


Jenkins Pipeline

기본 환경변수

  • env.JOB_NAME
  • env.BUILD_NUMBER
  • env.BUILD_URL

Build Parameter

Notification

Archive Artifact

post {
    always {
        archiveArtifacts artifacts: 'build/libs/**/*.jar', fingerprint: true
        junit 'build/reports/**/*.xml'
    }
}

변수 및 Script in Declarative

pipeline {
    agent any
    environment {
        MY_ENV = "${env.BRANCH_NAME}"
    }
    // 아래에서 MY_ENV 변수로 사용
}
  • Scripting을 하려면 steps에서 script 블록을 둔다.
steps {
    echo 'Building Container..'
 
    script {
        if (ENVIRONMENT_NAME == 'development') {
            ENV_NAME = 'Development'
        } else if (ENVIRONMENT_NAME == 'release') {
            ENV_NAME = 'Production'
        }
    }
    echo 'Building Branch: ' + env.BRANCH_NAME
    echo 'Build Number: ' + env.BUILD_NUMBER
    echo 'Building Environment: ' + ENV_NAME
 
    echo "Running your service with environemnt ${ENV_NAME} now"
}

강제 상태변경

  • 상태를 SUCCESS, UNSTABLE, FAILURE로 변경가능하다.
  • error “메시지” : 상태를 FAILURE로 변경하면서 메시지 출력

혹은 직접 지정

currentBuild.result = 'UNSTABLE' // SUCCESS, UNSTABLE, FAILURE

Git Branch Parameter

  • Git Branch 를 Job Parameter로 지정하고자 한다면, Lightweight checkout을 꺼야 한다.
  • GIT_BRANCH가 Job 파라미터 이름
stage('Git Checkout') {
    steps {
        git poll: true,
        changelog: true,
        url: 'git@github.com:....git',
        branch: params.GIT_BRANCH
        credentialsId: '...'
    }
}

JUnit 테스트 결과 메일/Slack 발송

참조

ci/jenkins/pipeline.1543385863.txt.gz · 마지막으로 수정됨: 2018/11/28 15:17 저자 kwon37xi