1. AnsiColor 플러그인 설치
Jenkins 환경에서 컬러 출력을 활성화하기 위해 AnsiColor 플러그인을 설치합니다. 이 플러그인은 콘솔 출력에 색상을 적용할 수 있게 해줍니다.2. 플러그인 문법 확인
설정된 파이프라인 프로젝트에서 파이프라인 문법 탭을 열고, 해당 플러그인의 사용법을 확인합니다.
- 해당 플러그인의 문서를 참조하여
ansiColor블록 내에서 색상 코드를 사용하는 방법을 익힙니다.
3. 공유 라이브러리 스크립트 수정 및 출력 메서드 개선
공유 라이브러리 내부의 tools.groovy 파일을 수정하여 컬러 출력 기능을 확장합니다.
package org.devops
def formatOutput(message, style) {
def colorMap = {
red -> "\u001B[40;31m >>>>>>>>>>> ${message} <<<<<<<<<<< \u001B[0m"
blue -> "\u001B[47;34m ${message} \u001B[0m"
green -> "\u001B[40;32m >>>>>>>>>>> ${message} <<<<<<<<<<< \u001B[0m"
yellow -> "\u001B[43;30m ⚠️ ${message} ⚠️ \u001B[0m"
}
ansiColor('xterm') {
println(colorMap[style] ?: message)
}
}
4. Jenkinsfile 업데이트 및 파이프라인 구성
기존의 Jenkinsfile를 아래와 같이 재구성하여 공유 라이브러리의 함수를 호출합니다.
#!groovy
@Library('jenkinslib') _
def utils = new org.devops.tools()
pipeline {
agent any
options {
timestamps()
skipDefaultCheckout()
disableConcurrentBuilds()
timeout(time: 1, unit: 'HOURS')
}
stages {
stage('Retrieve Source') {
steps {
timeout(time: 5, unit: 'MINUTES') {
script {
println('소스 코드 다운로드 중...')
utils.formatOutput('소스 코드 다운로드 중...', 'green')
}
}
}
}
stage('Build & Scan') {
failFast true
parallel {
stage('Compile') {
steps {
timeout(time: 20, unit: 'MINUTES') {
script {
println('애플리케이션 빌드 진행...')
utils.formatOutput('빌드 완료', 'green')
}
}
}
}
stage('Static Analysis') {
steps {
timeout(time: 30, unit: 'MINUTES') {
script {
println('코드 스캔 수행 중...')
utils.formatOutput('스캔 완료', 'blue')
}
}
}
}
}
}
}
post {
always {
script {
println('모든 단계 완료')
}
}
success {
script {
currentBuild.description = '\n ✅ 빌드 성공'
}
}
failure {
script {
currentBuild.description = '\n ❌ 빌드 실패'
}
}
aborted {
script {
currentBuild.description = '\n 🛑 빌드 취소'
}
}
}
}
5. 파이프라인 실행 및 결과 확인
변경 사항을 저장하고 파이프라인을 실행하면, 콘솔 출력에 다양한 색상으로 구분된 메시지가 나타납니다. 특히 green, blue, red 등으로 단계별 상태를 시각적으로 인식할 수 있습니다.