젠킨스 파이프 라인이란 연속적인 작업들을 젠킨스에서 하나의 파이프라인(작업)으로 묶어서 관리할 수 있게 만드는 플러그인을 말합니다.
빌드 파이프 라인 샘플입니다.
pipeline { agent any stages { stage('[CLONE] yolo-tensorrt') { steps { sh 'rm -rf *' git branch: 'main', credentialsId: '크리덴셜ID', url : '저장소주소.git' } } stage('[BUILD] 저장소명') { agent { docker { image '도커이미지:태그' args '-v /var/jenkins_home:/data' reuseNode true } } steps { sh '. ~/.profile; mkdir -p build; cd build; cmake ..; make; cp libdetector.so /data' } } stage('[CLONE] 저장소명') { steps { sh 'rm -rf *' git branch: 'main', credentialsId: '<크리덴셜ID>', url : 'http://레포주소.git' } } stage('[BUILD] 저장소명') { agent { docker { image '도커이미지:태그' args '-v /var/jenkins_home:/data' reuseNode true } } steps { sh 'cp /data/libdetector.so ./extern-lib; mkdir -p build; cd build; cmake ..; make; cp 폴더명 /src' } } stage('[ULOAD]') { steps { sh 'ls /var/jenkins_home' sh 'mkdir 업로드할_폴더명' sh 'cp $PWD/build/폴더명 ./업로드할_폴더명1' sh 'ls -al' sh 'sshpass -p 비번 scp -r -o StrictHostKeyChecking=no ./업로드할_폴더명 계정@아이피:/volume1/SW2/BuildModules' } } } post { success { slackSend (channel: '#build', color: '#00FF00', message: ":tada: Build Succeeded: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]' (${env.BUILD_URL})") } failure { slackSend (channel: '#build', color: '#FF0000', message: ":cold_sweat: Build Failed: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]' (${env.BUILD_URL})") } } }