[Jenkins] Jenkins Job DSL plugin에 대해

프로그래밍/서버2020. 12. 20. 16:13

Jenkins Job DSL 플러그인을 이용하면 Jenkins Job을 코드로 관리할 수 있습니다. IaC(Infrastructure as Code)라는 단어가 존재할 정도로 요즘같이 대형 서버들을 다루려면 UI가 아닌 코드로 관리하는게 좋습니다.

 

DSL은 Domain Specific Language의 약자입니다. Language가 들어가니 언어 같긴 합니다. ㅎㅎ 그러나 우리가 흔히 아는 Java, C 등General Purpose Language보다 덜 복잡하다는 특징을 가지고 있습니다. 

그냥 좀 간단한 언어라고 보면 될 것 같습니다.

 

쉽게 말해 Jenkins Job DSL plugin은 UI로 관리하던 Jenkins Job을 코드로 관리하게 해줍니다.

 

pipelineJob('my-job-docker') { //Create or updates a pipeline job.
    definition { // Adds a workflow definition.
        cpsScm { // Loads a pipeline script from SCM.
            scm { // Specifies where to obtain a source code repository containing the pipeline script.
                git { // Adds a Git SCM source.
                    remote { // Adds a remote.
                        url 'https://myrepository@bitbucket.org/myrepository/my_application.git' // Sets the remote URL.
                    }
                    branch 'master' // Specify the branches to examine for changes and to build.
                    scriptPath('Jenkinsfile-docker') // Sets the relative location of the pipeline script within the source code repository.Defaults to 'Jenkinsfile'
                }
            }
        }
    }
}

 

위에 간단히 예와 주석이 있습니다.

 

자세한 내용이 궁금하신 분은 아래의 사이트를 방문해주세요.

jenkinsci.github.io/job-dsl-plugin/#path/pipelineJob

 

... 버튼을 클릭하면 내부에서 사용가능한 코드를 볼 수 있습니다.

 

참고

plugins.jenkins.io/job-dsl/

 

Job DSL

This plugin allows Jobs and Views to be defined via DSLs

plugins.jenkins.io

medium.com/tech-learn-share/jenkins-job-dsl-667e88afc2f3#:~:text=Jenkins%20job%20DSL%20is,using%20a%20Groovy%20Based%20Language.&text=Jenkins%20job%20DSL%20plugin%20was,it%20easier%20to%20manage%20jobs.

 

Jenkins Job DSL

Jenkins job DSL is a plugin that allows us to define jobs in programmatic form with minimal effort.

medium.com

www.jetbrains.com/mps/concepts/domain-specific-languages/

 

What are Domain-Specific Languages (DSL) | MPS by JetBrains

The major goal of MPS is to allow extending programming languages.

www.jetbrains.com

 

작성자

Posted by 드리머즈

관련 글

댓글 영역