1. 새로운 item 선택
2. 이름 지정 후 Pipeline 선택 후 OK 선택
3. 그러면 아래쪽에 스크립트 작성 부분이 나오는데 gpt의 도움으로 파이프라인 예시 코드를 불러오면 아래 코드와 같다.
pipeline {
agent any
tools {
gradle "GRADLE_HOME" // Jenkins에서 설정한 Gradle의 이름
}
stages {
stage('Checkout') {
steps {
git url: 'https://github.com/DongHun3946/potHole_detectProject_springBoot', branch: 'main'
}
}
stage('Build') {
steps {
script {
sh './gradlew clean build' // Gradle 빌드 명령
}
}
}
stage('Deploy') {
steps {
script {
// Gradle 빌드로 생성된 jar 파일의 위치
def jarFile = 'build/libs/pothole_capstone-0.0.1-SNAPSHOT.jar'
// 원격 서버의 IP 주소 및 배포 경로
def serverIp = '54.180.146.92'
def deployPath = '/user/login'
def runAppCommand = "java -jar $deployPath/pothole_capstone-0.0.1-SNAPSHOT.jar"
// 서버에 파일을 SCP로 전송
sh "scp -o StrictHostKeyChecking=no $jarFile root@$serverIp:$deployPath/"
// 원격 서버에서 애플리케이션 실행
sshagent(['deploy_ssh_key']) { // 'deploy_ssh_key'는 Jenkins에서 설정한 credentials ID
sh "ssh -o StrictHostKeyChecking=no root@$serverIp '$runAppCommand'"
}
}
}
}
}
post {
success {
echo 'Deployment was successful.'
}
failure {
echo 'Deployment failed.'
}
}
}
4. 위 코드를 기반으로 스크립트에 저장 후 [ 지금 빌드 ] 버튼을 누르면 왼쪽 아래에 Builds 에 뭔가 실패했다는 표시가 뜬다.
5. 실패한 #1 을 클릭 후 Console Output을 클릭하면 어느 부분에서 오류가 발생했는지 알 수 있다.
'Jenkins' 카테고리의 다른 글
Jenkins 에서 원격서버에 접속하기 위한 ssh 키 설정 (0) | 2024.11.29 |
---|---|
Jenkins 빌드 중 무한버퍼링 해결법(스왑 메모리) (2) | 2024.11.29 |
Jenkins 서버에서 원격 서버로 접근하기 위한 작업 (2) | 2024.11.28 |
서버에서 docker에 Jenkins 설치방법(코드) (0) | 2024.11.25 |
Jenkins 설치 후 설정과정 (0) | 2024.10.12 |