반응형

image

안녕하세요 가야태자 @talkit 입니다.

Jenkins Installation & Setup on macOS

1. Jenkins란 무엇인가요? (What is Jenkins?)

Jenkins는 소프트웨어 개발 과정에서 CI/CD(지속적 통합 및 지속적 배포)를 자동화해주는 가장 대중적인 오픈소스 자동화 서버입니다. 수백 개의 플러그인을 통해 빌드, 테스트, 배포 등 개발 사이클의 모든 단계를 자동화하여 개발 효율을 극대화해 줍니다.

2. Jenkins의 주요 기능 카테고리

지속적 통합 (Continuous Integration, CI)

개발자들이 변경한 코드를 정기적으로 공유 저장소에 통합하고, 이를 자동으로 빌드 및 테스트하는 기능입니다. 이를 통해 코드 오류를 조기에 발견하고 개발 품질을 상시 유지할 수 있도록 돕습니다.

지속적 배포 (Continuous Delivery/Deployment, CD)

빌드와 테스트가 완료된 소프트웨어를 스테이징이나 운영 환경에 자동으로 배포하는 프로세스입니다. 수동 개입을 최소화하여 고객에게 새로운 기능을 더 빠르고 안정적으로 전달할 수 있게 합니다.

워크플로우 자동화 (Automation)

단순 반복적인 개발 업무부터 복잡한 파이프라인 구성까지 코드로 관리(Pipeline as Code)할 수 있습니다. 스케줄링이나 특정 이벤트 트리거를 통해 24시간 중단 없는 자동화 환경을 구축합니다.

방대한 플러그인 생태계 (Plugin Ecosystem)

Git, Docker, Kubernetes, Slack 등 수천 개의 외부 도구와 손쉽게 연동할 수 있는 플러그인을 제공합니다. 사용자의 환경에 맞춰 기능을 무한히 확장할 수 있는 것이 Jenkins의 가장 큰 장점입니다.

3. 사전 준비 (Prerequisites)

  • Homebrew: 패키지 관리자가 설치되어 있어야 합니다.
  • Java (JDK): Jenkins 실행을 위해 JDK 17 또는 21이 권장됩니다.

2. 설치 단계 (Installation)

JDK 및 Jenkins 설치

터미널에서 아래 명령을 실행합니다.

# OpenJDK 21 설치
brew install openjdk

# Jenkins LTS(Long Term Support) 버전 설치
brew install jenkins-lts

환경 변수 설정 (Optional)

시스템이 OpenJDK를 찾을 수 있도록 심볼릭 링크를 설정합니다.

sudo ln -sfn /opt/homebrew/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk

3. 서비스 실행 및 접속

서비스 시작

# Jenkins 서비스 시작 (재부팅 시 자동 실행)
brew services start jenkins-lts

# (참고) 서비스 중지
# brew services stop jenkins-lts

웹 인터페이스 접속

브라우저에서 아래 주소로 접속합니다.

4. 초기 설정 (Initial Setup)

관리자 비밀번호 확인

설치 직후 터미널에서 다음 명령을 통해 초기 비밀번호를 확인합니다.

cat ~/.jenkins/secrets/initialAdminPassword

(예: 67f73****************************)

숫자와 영문으로 이루어져 있습니다.

플러그인 설치 및 계정 생성

  1. 'Install suggested plugins'를 클릭하여 기본 플러그인을 설치합니다.
  2. 관리자(Admin) 계정 정보를 입력하여 생성을 완료합니다.
  3. Jenkins URL 설정을 확인하고 완료합니다.

5. tjks 연동을 위한 API 토큰 발급

CLI 도구인 tjks가 Jenkins와 통신하려면 API 토큰이 필요합니다.

  1. [사용자] -> [사용자명(관리자)] 클릭
  2. 왼쪽 메뉴의 [설정(Configure)] 클릭
  3. API Token 섹션에서 [Add new Token] 클릭
  4. 이름 입력 후 [Generate] 버튼 클릭
  5. 중요: 생성된 토큰은 단 한 번만 표시되므로 반드시 안전한 곳에 기록해 두십시오.

지속적인 통합 이라는 주제를 이야기 할때 여러가지 CI/CD 도구들 중에 가장 많이 이야기 되는 녀석 입니다.

일단 제 맥북에 설치하면서 매뉴얼을 작성해 둡니다.

요즘은 AI가 설치해달라고 하면 해줍니다.

심지어 도커로 구성하게 해달라고 해도 해줍니다.

너무 편리해서 좋은지 무서운지 잘 모르겠습니다. ㅠ.ㅠ


그리고 또 조금 재밌는 툴을 만들어 보려고 합니다.

https://www.steemit.com/kr/@bomspring/jenkins-mcp

@bomspring 님 글에서 아이디어를 얻어서 저는 AI와 사용자가 활요할 수 있는

CLI를 구현해 보려고 합니다.


내일 이 주제로 글을 작성하겠지만, 이름 하여 tjks 입니다.

Talkit Jenkins 의 약자 입니다.

이제 오픈도 했겠다 신나게 글을 작성해 보겠습니다.

감사합니다.

https://steemit.com/@talkit 에서도 연재 중입니다.

반응형

+ Recent posts