반응형

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 에서도 연재 중입니다.

반응형
반응형

리눅스에 접속해서 뭘 할 것인가?

지난번 글에서

파일 목록을 확인하고

talkit.tistory.com/581?category=147034

폴더를 만들어 보았습니다.

talkit.tistory.com/582

이제 작성한 폴더로 들어가 보겠습니다.

cd [이동하고싶은디렉토리]

제가 대괄호로 써놓은 이유는 cd 만으로 뭔가 의미 있는 명령어 이기 때문입니다.

리눅스에서 아무 생각 없이 cd를 치고 엔터를 치시면

계정의 홈(Home) 폴더로 이동 합니다.

자 실습을 한번 해보겠습니다.

cd
pwd

위오 와 같이 칩니다.

[userid@server01 ~]$ cd
[userid@server01 ~]$ pwd
/home/userid

위와 같이 나옵니다.

ls

명령어로 지난 번에 만드셨던 디렉토리로 이동해 보겠습니다.

ls
cd test1
pwd

위와 같이 쳐보시면 됩니다.

[userid@server01 ~]$ ls
perl5  test1
[userid@server01 ~]$ cd test1
[userid@server01 test1]$ pwd
/home/userid/test1

위와 같이 이동 할 수 있습니다.

지난 번 강좌에서 test1/test2 만드신거 기억 나시죠.

cd /home/userid/test1/test2
pwd

위와 같이 쳐보십시오
앞에서는 하나 하나 이동 했지만, 저렇게 한꺼번에 이동 하실 수 있습니다.

그리고, 리눅스에서는 짜랍게 단어를 치시고, tab키를 치시면 디렉토리이 유일 할경우는 바로 타이핑해주구요.

동일한게 있을 경우는 보여 줍니다.

Tab 키를 잘 활용하시면 좀 더 쉽게 이동하고 리스팅 할 수 있습니다.

그리고, pwd 는 현재 디렉토리를 나타내는 명령어 입니다.

위에서 풀경로로 이동하는 이유 중에 하나는 주로 두개의 디렉토리에서 작업을 하신 다면

cd  -

cd - 명령어를 기억 하십시오.

cd - 명령어는 바로 이전 디렉토리로 이동 시켜 줍니다.

mkdir -p ~/test1/test2/test3/test4/test5
cd ~/test1/test2/test3/test4/test5

어제 실습을 따라 하셨으면 디렉토리가 있겠지만 없으면 mkdir -p 명령어로 디렉토리를 만드십시오.

그리고 저렇게 이동 합니다.

그리고 나서 홈으로 돌아 오려면, 제일 먼저 설명드린 cd 명령어를 그냥 한번 치시면 됩니다.

그리고, 또한 cd - 명령어로 돌아 오실 수 있습니다.

제가 중간에 설명을 드렸어야 하는데 하위데릭토리만 가고, 상위 디렉토리로 가는 방법을 설명을 안드렸네요.

cd  ..

입니다. cd .. 하면 상위 디렉토리로 이동 합니다.

아까 test5번가지 들어갔다가 위로 이동 하려면 cd .. 을 다번 쳐야 하느냐

그것 아닙니다. 연결해서 치시면 됩니다.

cd  ../../../../../../

이렇게 이동 하시면 됩니다.

그리고 중간에 생뚱맞게 ~ 표시가 나왔습니다. 저건 계정의 홈디렉토리를 표시하는 것이고 영어/한글로 틸드라고 읽습니다.

cd 로 이동이 가능하지만, ~를 쓰면 /home/계정명 정도를 생략할 수 있습니다.

이제 디렉토리를 이동하고,

만들고, 목록을 확인 하는데까지 왔습니다.

열심히 또 갈길을 가보시자구요.

감사합니다.

반응형

+ Recent posts