뭐든 즐기면서 ;)

Jenkins pipeline / Jenkins github maven 본문

서버/JENKINS

Jenkins pipeline / Jenkins github maven

Tada.*+ 2022. 5. 18. 17:28
728x90

Pipleline 생성 및 git clone, maven build

 

사전 작업

  • github token을 발급 받아야 합니다. 발급 방법은 Jenkins Github 연동 포스팅에 나와있습니다. (아주 간단)

1. Maven 설정

  • builder maven 설정 ( 추후 pipeline script에 작성될 예정 )

  • Maven 생성

  • Maven Name은 나중에 jenkins pipeline 생성할 때 script에 작성될 것입니다.

2. Pipeline 생성

  • pipeline 기본 script는 'GitHub + Maven'을 선택해 주세요.
  • 하단에 'Pipeline Syntax'링크를 클릭하면 pipeline syntax를 자동 생성해주는 창이 하나 뜰 것입니다.

  • 모두 작성한 후 Generate Pipeline Script를 클릭하면 아래와 같이 pipeline syntax가 생성됩니다.
  • 생성된 내용을 복사해 줍니다.
  • 다시 pipeline 생성화면으로 돌아가 내용을 수정해 줍니다.

  • stage - github clone ( stage 괄호안에 작성한 내용은 단순 단계 명칭을 작성하는 것입니다. 무슨 뜻인지는 빌드 과정 화면을 보시면 알 것입니다.)
  • stpes - 위에서 복사한 내용을 붙여넣어줍니다.

  • 아래는 위 코드를 복사한 내용입니다. 다만, stage를 분리하여 작성했습니다.
  • git clone
  • Build
pipeline {
    agent any

    tools {
        // Install the Maven version configured as "M3" and add it to the path.
        maven "M3"
    }

    stages {
        stage('git clone') {
            steps {
                // Get some code from a GitHub repository
                git branch: 'renewal_client_dev', url: 'https://github발급token@github.com/mindslab-ai/data-edit-tool.git'
            }
        }
        
        stage('Build') {
            steps {
                // Run Maven on a Unix agent.
                sh "mvn -Dmaven.test.failure.ignore=true clean package"

                // To run Maven on a Windows agent, use
                // bat "mvn -Dmaven.test.failure.ignore=true clean package"
            }
        }
    }
}


필자는 처음 Maven 설정(Global Tool Configuration)을 하지 않고 진행하다 M3(Maven)가 없다는 에러를 맞닥뜨렸습니다. 위에 M3(Maven)설정을 해주셨다면 지나갈 에러일 것이니 해당 단계는 스킵하셔도 무관합니다.

  • 에러 확인 ( x동그라미 아이콘을 클릭하면 log확인이 가능합니다.)

  • 에러 내용 : WorkflowScript: 6: Tool type "maven" does not have an install of "M3" configured - did you mean "null"? @ line 6, column 15.


  • 빌드 완료
  • 완료된 단계에 마우스를 hover하면 Log확인도 가능하다.

  • log 내용
    • git repository에 source가 clone 된 것을 확인할 수 있다. (경로는 renewal_webhook이 아닌 data-edit-tool-renewal로 되어 있을 것입니다. renewal_webhook은 필자가 샘플로 진행해보았던 것이라,,)
    • 정상적으로 build되어 war파일이 생성된 것도 확인할 수 있다.

 

728x90
Comments