개발

아직도 젠킨스를 안 써본 사람이 있다고? #설치 #빌드

brobro332 2025. 1. 1. 01:34
반응형
젠킨스를 안 써본 사람? 바로 나다.
 
구직 시기에 CI/CD 파이프라인을 미리 경험해 보자는 생각을 갖고 있었는데, 아직까지도 해본 적이 없다. 😱
늦었을 때가 가장 늦은 법. 지금이라도 한 번 해보고자 한다.

 

많고 많은 프로그램 중 왜 젠킨스를 사용해?

  • CI/CD를 제공하는 서비스에는 깃허브 액션, 뱀부, 젠킨스 등이 있다.
  • 뱀부는 유료라서 컷. 그럼 깃허브 액션과 젠킨스만 남게 된다.
     
  • 구글링을 해보니 깃허브 액션은 굉장히 깃허브에 종속적이어서 단순하면서도 간편하게 관리를 할 수 있다. 또한 리소스에 따라서 유료가 될 수도 있다.
     
  • 반면 젠킨스는 다소 어렵지만 유연하고, 완전 무료라는 장점이 있다. 또한 굉장히 오래된 서비스여서 레퍼런스도 많다.
     
  • 결론적으로 도커 이미지 기반의 젠킨스를 결정했다. 대규모 프로젝트에 적합하다고 하는데, 레퍼런스만 충분하다면 공부하기에 더 좋다고 생각했다.
  • 또한 깃허브 액션은 나중에 완전 상용으로 바뀌거나 무료 사용자에 제약사항이 늘어날 가능성이 있다고 생각했다.  

 

이제 설치하시죠

 

Jenkins

Jenkins – an open source automation server which enables developers around the world to reliably build, test, and deploy their software

www.jenkins.io

  • 각자 OS에 맞게 설치 진행하면 된다.
  • 기본 포트번호는 8080이라고 하는데 다른 서비스와 겹칠 경우 jenkins.xml 파일을 수정하면 된다고 한다.
  • 그런데 해보니 그전에 설치과정에서 포트번호 설정 할 수 있더라.
     
  • 설치 시에 계정/패스워드 입력하는 화면이 있는데, 정상적으로 진행이 안 될 경우 Windows 관리 도구 - 로컬 보안 정책 - 로컬 정책- 사용자 권한 할당 - 서비스로 로그온 - 사용자 또는 그룹 추가에 윈도우 사용자 계정을 추가하면 된다.
  • 그런데 윈도우 사용자 계정에 패스워드가 없다면 또 에러가 발생하니 제어판에서 패스워드를 추가하자. 

 

  • 설치가 다 되었다면 localhost:포트번호에 접속하여 로그인을 해주자.
  • 화면 보면 알겠지만 설치하는 과정에서 등록한 패스워드 아니다.
  • 빨간 줄의 경로에 있는 파일 본문을 복사해서 로그인하면 된다.
어우 설치만 해도 굉장히 복잡하다. 이제 빌드를 해보자. 

 

깃허브 프로젝트 빌드 테스트

  • 새로운 Item 메뉴를 클릭한다.

 

  • 프로젝트명을 입력하고 Freestyle project를 선택하자. 

 

  • 그럼 이렇게 프로젝트와 레포지토리의 URL을 입력하는 란이 있다.

 

  • 위 이미지를 참고해서 입력하면 된다.

 

  • 본인은 기본 브랜치명으로 main을 사용해서 이것도 수정하였다.

 

  • [지금 빌드] 버튼을 클릭하면 빌드가 진행된다.

 

  • 요렇게 빌드 결과 및 정보를 확인할 수 있다.
  • 빌드된 파일들은 C:\Users\사용자명\AppData\Local\Jenkins\.jenkins\workspace에 위치한다.

 

마치며

  • 사실 우리들이 젠킨스를 사용하는 이유가 이렇게 단순하게 빌드만을 하기 위해서는 아닐 것이다.
  • 다만 이번 포스팅을 통해서 다음 사실들을 알 수 있다.
  1. 젠킨스는 깃허브 원격 스토리지의 프로젝트를 빌드할 수 있다.
  2. 빌드한 파일들을 특정 경로에 위치시킬 수 있다.

 

  • 가령 오라클 클라우드 내 인스턴스에서 프로젝트 빌드 자동화를 하려면 파이프라인을 통해 다음 과정을 따르게 될 것이다.
  1. 깃허브 웹훅을 통해 main 브랜치 병합 감지
  2. 도커파일을 통해 main 브랜치 빌드(컴파일, 테스트, 패키징)하여 도커 이미지 빌드
  3. 도커 이미지 도커 허브에 업로드
  4. 도커 이미지 실행

 

일단 수동으로 배포를 해보고.. 젠킨스 파이프라인을 구축해봐야겠다. 😋 

 

이미지 출처

 

Jenkins

Jenkins – an open source automation server which enables developers around the world to reliably build, test, and deploy their software

www.jenkins.io