현재 kubernetes 자동화 설치 툴을 개발 중입니다.
해당 글은 사용자 환경마다 상이할 수 있습니다.
관리자 권한을 기준으로 작성하였습니다.
pipeline {
agent {
node {
label 'agent'
}
}
tools {
git 'GitInstall'
go 'GoInstall'
terraform 'TerraformInstall'
}
environment {
testDir = 'testDir'
#`key` = `value` 이런 형식으로 작성하면 된다.
}
stages {
stage('=====Clean Workspace=====') {
steps {
cleanWs()
}
}
stage('=====Git Clone=====') {
steps {
dir('./test') {
git branch: 'main', credentialsId: 'github_login', url: '(repository url)'
}
}
}
stage('=====빌드 및 테스트 내용=====') {
steps {
# 빌드 및 테스트 내용을 작성
}
}
}
post {
success {
# 성공 시 실행
script {
def buildDurationMillis = currentBuild.duration
def buildDurationMinutes = (buildDurationMillis / 60000).toInteger()
def hours = (buildDurationMinutes / 60).toInteger()
def minutes = (buildDurationMinutes % 60).toInteger()
def buildDurationString = "${hours}시간 ${minutes}분"
echo "test가 완료되었습니다. 소요된 시간 : ${buildDurationString}"
slackSend(
channel: '#sig-cube',
color: 'good',
message: "Test Success! :o: Build #${env.BUILD_NUMBER} success.\n소요된 시간 : ${buildDurationString}"
)
}
}
failure {
# 실패 시 실행
echo "test가 실패하였습니다."
slackSend(
channel: '#sig-cube',
color: 'danger',
message: "Test Failed! :x: Build #${env.BUILD_NUMBER} failed. See Jenkins for details.\nDetail link ${BUILD_URL}"
)
}
}
}