TIL/DOCKER

Jenkins #1 로컬 Docker 환경에서 Freestyle Job 실행해보기

아람2 2025. 7. 14. 19:40
반응형

정글에서는 AWS Credit 을 받아 AWS 환경을 구성하고 Jenkins 도 설치했지만 

여기서는 Local 환경에 Docker 를 이용하여 Jenkins 를 구성해보려고 한다 

 

정글에서 진행한 CI/CD via Jenkins + Docker 

https://helloahram.tistory.com/184

 

CI/CD via Jenkins + Docker #1

CI/CDCI - Continuous Integration 지속적 통합 CD - Continuous Delivery or Deployment 지속적인 제공 or 배포 CI 목적 - 자동으로 Build/ Test 1. 코드 변경 사항을 주기적으로 빈번하게 Merge 해야 한다 2. 통합을 위한

helloahram.tistory.com

https://helloahram.tistory.com/186

 

CI/CD via Jenkins #2

Jenkins 설정 Jenkins 를 설치하고 Git Repo 까지 연결했으니 (#1 참고) 이제 설정할 차례 -각오는 했지만 생각보다 설정할 내용들이 많았고 제법 어렵기도 했다 Jenkins 배포 전략 세우기방안1) 빌드 서

helloahram.tistory.com

 

Docker 설치 및 확인 

Docker 공식 홈페이지에서 Docker Desktop 을 설치한다 

https://www.docker.com/products/docker-desktop/

 

Docker Desktop: The #1 Containerization Tool for Developers | Docker

Docker Desktop is collaborative containerization software for developers. Get started and download Docker Desktop today on Mac, Windows, or Linux.

www.docker.com

 

현재 최신 Engine 버전은 28 라고 하니 업그레이드해준다

https://docs.docker.com/engine/release-notes/28/

 

Engine v28

Learn about the new features, bug fixes, and breaking changes for Docker Engine

docs.docker.com

 

Docker Desktop 에서 설정 -> Software Updates 에서 Download Update 해주면 된다 

최신 버전으로 업그레이드 완료!

 

Jenkins 설치 

Jenkins 공식 홈페이지에 LTS 와 Weekly 두 가지 옵션이 있는데 

Weekly 는 매주 Release 되지만 실험 기능도 포함되어 있어서 불안정할 수 있으니 

안정적인 Long-Term Support, LTS 를 설치해준다 

docker run -d --name jenkins-lts \
  -p 9090:8080 -p 50000:50000 \
  -v jenkins_home:/var/jenkins_home \
  jenkins/jenkins:lts

 

옵션 설명
-d 백그라운드 실행
--name 컨테이너 이름 설정 (jenkins-lts)
-p 9090:8080 Jenkins 웹 UI 포트 연결
-p 50000:50000 에이전트 통신용 포트 연결
-v jenkins_home:/var/jenkins_home Jenkins 데이터 영속화를 위한 볼륨 설정
jenkins/jenkins:lts LTS 버전의 Jenkins 이미지 사용

 

 

Jenkins 접속 

http://localhost:9090 으로 접속하면 아래와 같은 화면이 출력된다 

저 명령어를 CLI 에 입력하면 Password 가 출력되고, 그 Password 를 Web UI 에 입력하면 된다 

docker exec jenkins-lts cat /var/jenkins_home/secrets/initialAdminPassword

 

Plugin 은 나중에도 설치 가능하니, Install Suggested Plugins 을 선택한다

설치가 다 되면, Admin User 를 생성해주고, Jenkins 에서 사용할 기본 URL 도 설정한다 

그러면 Jenkins 설치도 완성!

 

Jenkins Job 이란 

Job == 작업 단위

Jenkins 에서는 빌드, 테스트, 배포 같은 자동으로 실행하고 싶은 작업을 Job 이라는 단위로 관리한다 

 

Job 을 하는 이유는 간단하다

자동으로 하기 위해서

예전에는 사람이 일일이 명령어 입력해서 빌드하고 테스트했지만,

Jenkins Job 을 만들면 버튼 클릭 한 번 또는 Code Push 만으로 자동으로 진행된다 

그렇기 때문에 반복되는 작업을 실수 없이, 빠르게, 일관된 방식으로 작업을 실행할 수 있다 

Job 종류 예시 

Freestyle Job - 가장 기본적인 Job, Shell Script 도 쉽게 실행할 수 있다 

Pipeline Job - 코드로 파이프라인을 정의하고 싶을 때 사용한다 (Jenkinsfile 사용) 

Multibranch Pipeline - Github 의 각 Branch 마다 자동으로 파이프라인을 구성할 수 있다 

Jenkins Job 실행하기 

Jenkins 의 첫 접속 화면에서 Create a Job 을 선택한다 

Item Name 을 입력해주고, Freestyle Project 을 선택한다 

Configure 에서 스크롤을 쭉~~ 내려서 Environment > Build Steps 영역으로 이동하고 

Add Build Step > Execute Shell 을 선택한다 

Command 를 입력해주고 Save 버튼으로 저장해준다 

echo "Hello Jenkins"

Jenkins 메인 화면에서 왼쪽 영역의 [지금 빌드] 버튼을 누르면 방금 설정한 Freestyle Job 이 빌드된다 

Build 영역의 #1 을 눌러 콘솔을 확인하면, 아까 입력한 Command 가 정상 실행되었음을 알 수 있다 


 

정리

 

Jenkins Job 은 반복되는 작업 (빌드, 테스트, 배포 등) 을 자동화하기 위한 기본 단위이다 

Freestyle Job 은 Jenkins 에서 가장 기본적인 형태로, 간단한 명령 실행부터 시작할 수 있다 

내일은 (시간이 된다면) Github 레포 연동해야지 

 

 

반응형