Jenkins를 본격적으로 사용하기에 앞서 몇 가지 기본 설정들을 적용해주자.
위 사진처럼 Jenkins Dashboard에서 Jenkins 관리를 선택한 이후 Global Tool Configuration을 선택해주면 된다.
Jenkins 관리 > 플러그인 관리 > 설치 가능 Section을 선택하여 원하는 Plugin을 검색하면 된다.
이젠 프로젝트를 진행하며 필요한 Plugin들을 설치해보자.
이전에는 Github Plugin이 필수 Plugin이 아니었으나 최근 Jenkins에서는 Github Plugin이 필수 설치 Plugin에 포함되었다.
하지만 혹시 모르니 GitHub Plugin이 설치되었는지 확인해보도록 하자.
GitHub plugin이 설치되어 있음을 확인할 수 있다.
만약 "설치된 플러그인 목록"에 GitHub plugin이 존재하지 않는다면 "설치 가능" Section에서 GitHub plugin을 검색해 설치해주면 된다.
Jenkins는 CI/CD 툴이다. 즉 Jenkins는 Build를 수행해야 하며, 이를 위해 Maven Plugin을 설치해야 한다.
Maven Plugin은 GitHub Plugin과는 다르게 필수 Plugin이 아니기 때문에 직접 설치해줘야 한다.
JDK가 존재해야지만 Java Application을 활용할 수 있고, 당연히 Java 기반의 Jenkins도 JDK가 존재해야 한다.
하지만 우리는 따로 JDK를 설정해주지 않아도 되기 때문에 이에 대해 큰 고민을 할 필요는 없다.
Jenkins가 실행되고 있다는 사실 자체가 JDK가 이미 설치되었으며 Jenkins가 이를 사용하고 있다는 의미이므로 JDK가 이미 설정되었다는 것을 쉽게 알 수 있다.
Add JDK 버튼을 클릭하여 설치되어 있는 JDK Path를 지정하거나 Install Automatically 버튼을 클릭해 필요한 JDK를 Jenkins 내부에서 자동으로 설치할 수도 있지만 큰 필요성은 존재하지 않는다.
위에서 GitHub Plugin을 설치했다면 실제로 Github Plugin을 활용하기 위한 설정 단계가 필요하다.
Name과 Path to Git executable을 모두 입력하면 Apply 버튼 클릭 이후 Save 버튼을 클릭하여 설정을 완료할 수 있다.
위에서 Maven Plugin을 설치했다면 Maven Plugin을 활용하기 위한 설정 단계가 필요하다.
Maven은 Git과 다르게 Jenkins 실행 환경에서 설치가 되어 있지 않은 경우도 많다. 따라서 먼저 Maven이 설치되어 있는지를 확인해보자.
CMD 창을 켜서 "mvn" 명령어를 입력하였을 때 mvn 명령어의 사용 방법이 나온다면 Maven이 이미 설치되어 있는 것이며, 만약 명령어를 인지하지 못한다면 Maven이 설치되어 있지 않은 것이다.
필자의 컴퓨터에서는 "mvn" 명령어를 인지하지 못하므로 Maven이 설치되지 않았음을 확인할 수 있다.
여기에서 3.0 단계에서 수행한 Maven 설치 여부를 활용할 수 있다.
만약 Maven이 Jenkins 실행 환경에 설치되었다면 Install Automatically 체크 박스를 비활성화한 다음 MAVEN_HOME에 설치되어 있는 Maven Path를 입력해주면 된다.
Maven이 설치되어 있지 않다면 위 사진처럼 Install automatically 체크박스를 활성화한다음 원하는 Version을 선택하면 된다.
Apply 버튼을 클릭한 이후 Save 버튼을 클릭하면 Maven Setting이 끝난다.
Jenkins에서는 "Execute Shell"이라는 Step을 지정할 수 있다.
쉽게 풀자면 Build나 Build가 끝난 이후 Shell에 어떤 명령을 전달함으로써 OS 측에 내가 원하는 명령을 전달할 수 있다는 것이다.
문제는 Windows 같은 경우 MacOS나 Docker Desktop과는 다르게 기본적으로 사용하는 Bash가 존재하지 않기 때문에 직접 Shell Script문을 실행시킬 Shell Path를 지정해줘야 하는 것이다.
만약 Bash 설정이 되어 있지 않다면 Caused: java.io.IOException: Cannot run program "sh" 에러가 발생할 것이다.
따라서 이 Bash 설정 방법에 대해 알아보자.
필자는 이전에 Git을 설치했으므로 Git 내부에 설치된 Bash를 사용했다.
만약 다른 bash를 활용하고 싶다면 활용하고 싶은 Bash를 설치하면 될 것이다.