
안녕하세요 가야태자 @talkit 입니다.
Jenkins Installation & Setup on macOS
1. Jenkins란 무엇인가요? (What is Jenkins?)
Jenkins는 소프트웨어 개발 과정에서 CI/CD(지속적 통합 및 지속적 배포)를 자동화해주는 가장 대중적인 오픈소스 자동화 서버입니다. 수백 개의 플러그인을 통해 빌드, 테스트, 배포 등 개발 사이클의 모든 단계를 자동화하여 개발 효율을 극대화해 줍니다.
- 공식 웹사이트: https://www.jenkins.io/
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****************************)
숫자와 영문으로 이루어져 있습니다.
플러그인 설치 및 계정 생성
- 'Install suggested plugins'를 클릭하여 기본 플러그인을 설치합니다.
- 관리자(Admin) 계정 정보를 입력하여 생성을 완료합니다.
- Jenkins URL 설정을 확인하고 완료합니다.
5. tjks 연동을 위한 API 토큰 발급
CLI 도구인 tjks가 Jenkins와 통신하려면 API 토큰이 필요합니다.
- [사용자] -> [사용자명(관리자)] 클릭
- 왼쪽 메뉴의 [설정(Configure)] 클릭
- API Token 섹션에서 [Add new Token] 클릭
- 이름 입력 후 [Generate] 버튼 클릭
- 중요: 생성된 토큰은 단 한 번만 표시되므로 반드시 안전한 곳에 기록해 두십시오.
지속적인 통합 이라는 주제를 이야기 할때 여러가지 CI/CD 도구들 중에 가장 많이 이야기 되는 녀석 입니다.
일단 제 맥북에 설치하면서 매뉴얼을 작성해 둡니다.
요즘은 AI가 설치해달라고 하면 해줍니다.
심지어 도커로 구성하게 해달라고 해도 해줍니다.
너무 편리해서 좋은지 무서운지 잘 모르겠습니다. ㅠ.ㅠ
그리고 또 조금 재밌는 툴을 만들어 보려고 합니다.
https://www.steemit.com/kr/@bomspring/jenkins-mcp
@bomspring 님 글에서 아이디어를 얻어서 저는 AI와 사용자가 활요할 수 있는
CLI를 구현해 보려고 합니다.
내일 이 주제로 글을 작성하겠지만, 이름 하여 tjks 입니다.
Talkit Jenkins 의 약자 입니다.
이제 오픈도 했겠다 신나게 글을 작성해 보겠습니다.
감사합니다.
https://steemit.com/@talkit 에서도 연재 중입니다.
'개발 방법론' 카테고리의 다른 글
| 깃랩/Gitlab 깃랩과 비주얼스튜디오 코드 연결하기 How to connect between gitlab and visual studio code on windows (0) | 2023.02.15 |
|---|---|
| 깃/git 윈도우용/윈도우즈용 깃 설치하기 How to install git for windows (0) | 2023.02.14 |
| 깃랩/gitlab 깃립에 빈 프로젝트 만들기. How to create a blank Project on gitlab (0) | 2023.02.12 |
| 깃랩/gitlab 깃랩 가입하기 How to join gitlab (0) | 2023.02.11 |
| 빅데이타와 인공지능 시작 (0) | 2016.09.10 |