이전 편 보러가기 ⬇️
[Jenkins] CI/CD 환경 구축 - 1편, 리눅스 환경 설정과 Jenkins 초기 설정
[Jenkins] CI/CD 환경 구축 - 2편, Jenkins Job 생성 및 설정
젠킨스 Job DSL 이란?
Job 을 Ansible 처럼 programmatic 하게 작성하고자 만들어진 플러그인이다. 늘어나는 Job 들을 일관된 템플릿으로 생성 및 관리할 수 있다.
DSL 을 통해 Job을 생성하는 것을 Seed Job 이라고 한다. Job 에서 작성한 템플릿을 통해 다른 Job 들이 생성된다.
* Job 이란 젠킨스에서 실행되는 각각의 작업이다.
플러그인 설치/업데이트
1. Jenkins 관리 > Plugins > Available plugins 에서 NodeJS 다운로드.
* 필자는 이미 다운받아서 Installed plugins 에 위치.

2. Jenkins 관리 > Tools > NodeJS installations
Tools 는 Jenkins에 손발을 달아주는 과정이다. Node.js 설치 후, 별명을 지어주고 빌드 시 특정버전으로 나오도록 설정한다.

3. Name 은 어떤걸로 해도 상관없지만, 주로 이름 + 버전이 명시되면 알아보기 좋다.

Job DSL 설치
4. Jenkins 관리 > Plugins > Job DSL 설치

Job DSL 프로젝트 생성
5. Job DSL 프로젝트 생성
Item 생성 > Free Style 프로젝트 > Build Steps

6. Build Steps 설정
DSL script 사용하여 아래 코드 작성.
job('NodeJS example') {
scm {
git('https://github.com/seoyeonDev/git주소'){ node -> // is hudson.plugins.git.GitSCM
node / gitConfigName('사용자명')
node / gitConfigEmail('이메일 주소@gmail.com')
}
}
triggers {
scm('H/5 * * * *')
}
wrappers {
nodejs('node16') // this is the name of the NodeJS installation in
// Manage Jenkins -> Configure Tools -> NodeJS Installations -> Name
}
steps {
shell("npm install")
}
}

보안 이슈 해결
7. 보안 이슈 해결
Jenkins 관리 > Security > Enable script security for Job DSL scripts 체크 해제

8. dsl job 프로젝트 확인
아래와 같이 dsl-job 이 생성된다.

dsl-job 의 결과물도 생성되는지 확인한다.

다음 편 보러가기 ⬇️
[Jenkins] CI/CD 환경 구축 - 4편, Jenkins 파이프라인 설정
* Kosta의 윤성열 강사님 Jenkins 기반의 CI/CD 환경 구축 강의를 바탕으로 정리한 글입니다.