[jenkins] jenkins docker install

ci/cd 오픈소스 도구로 가장 많이 사랑 받는 jenkins에 대해 포스팅 해보겠습니다.
먼저 설치부터 해야겠지요?
항상 패키지 매니저로 설치했었는데 이번에는 docker로 설치해보도록 하겠습니다.

jenkins docker 이미지 다운로드

docker hub에서 jenkins를 검색하면 가장 상단에 jenkins docker official image가 가장 먼저 보일겁니다.

jenkins_00.png

하지만 DEPRECATED; use "jenkins/jenkins:lts" instead라고 안내하고 있으니 아래에 있는 jenkins/jenkins Sponsored OSS의 이미지를 다운로드 받도록 합니다.

docker pull jenkins/jenkins:latest

정상적으로 이미지를 다운로드 받았습니다.

latest: Pulling from jenkins/jenkins
796cc43785ac: Pull complete
0f7bbb193a37: Pull complete
eb083ec37208: Pull complete
811cee232129: Pull complete
9cb3c9c2fc84: Pull complete
391cfa07b590: Pull complete
2bd9a9e0235f: Pull complete
0c4eaef6fe70: Pull complete
b96098b82b9a: Pull complete
ea3fc5fce43a: Pull complete
ffabf053eb7a: Pull complete
77934a986327: Pull complete
9399b337c044: Pull complete
Digest: sha256:14e3f4912ade77739d675aced9673eeab7ceaa4186dee8365ba61b72828f3b29
Status: Downloaded newer image for jenkins/jenkins:latest
docker.io/jenkins/jenkins:latest

jenkins docker 실행

이제 docker 컨테이너를 가동하도록 하겠습니다.

docker run -d -p 8080:8080 -v jenkins_home:/var/jenkins_home --name jenkins jenkins/jenkins:latest

플러그인과 설정을 유지하기 위해 볼륨 설정을 넣었습니다.

fadd1ce5b81bf64038f5583e9ff86bdc71b2fa53eb58a488b62201214930813c

docker 컨테이너 id를 리턴해주면서 정상적으로 생성됐네요.
이제 jenkins 설정 화면을 만나보겠습니다! 아 그전에 초기 비번을 확인해야 하는데 아래 명령어를 통해 알아보도록 하겠습니다.

jenkins 초기 비번 확인

docker logs fadd1ce5b81bf64038f5583e9ff86bdc71b2fa53eb58a488b62201214930813c

위 명령어를 통해 docker 로그를 볼 수 있습니다.
로그 중에 아래 단락에서 초기 비번을 확인할 수 있습니다.

Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:

992e7983ba1748b1852018edff0638bf

This may also be found at: /var/jenkins_home/secrets/initialAdminPassword

992e7983ba1748b1852018edff0638bf가 초기 비번입니다.
초기 비번을 확인됐으니 웹브라우저로 http://localhost:8080에 접속 해보겠습니다.

Unlock Jenkins

jenkins_01.png

Unlock Jenkins 화면이 나온다면 설치는 완료된 것 입니다.
여기에 초기 비번을 입력하고 continue 버튼을 클릭합니다.

Customize Jenkins

jenkins_02.png

Customize Jenkins 화면이 나올텐데 여기서는 우측
Install suggested plugins를 선택합니다.

jenkins_03.png

필요한 플러그인을 다운로드 받고 설치하기 시작합니다.
조금 시간이 걸릴 수 있으니 차분하게 기다려주세요~!

Create First Admin User

jenkins_04.png

플러그인 설치까지 완료 되었습니다.
Create First Admin User 화면이 나올 텐데 초기 설정이 끝난 이후에도 admin 계정을 만들 수 있습니다.
우선 Skip and continue as admin 버튼을 클릭해서 넘어가겠습니다.

실 사용시 반드시 admin 계정을 생성하시길 바랍니다.

Instance Configuration

jenkins_05.png

Instance Configuration 화면이 나옵니다.
기본 default로 적용된 주소 그대로 사용하며 Save and Finish 버튼을 클릭합니다.

Jenkins is Ready

jenkins_06.png

마지막 입니다.
Create First Admin User 단계에서 admin 계정을 설정하지 않아 warning 메시지를 노출하네요.
admin 계정을 만들고 왔다면 warning 메시지는 보이지 않을 겁니다.
이제 Start using jenkins 버튼을 클릭합니다.

Jenkins home

jenkins_07.png

드디어 젠킨스 홈 화면으로 진입했습니다~!!
여기까지 해서 젠킨스 설치를 마무리 짓도록 하겠습니다.
다음에는 젠킨스 job을 만들어보도록 하겠습니다.
수고하셨습니다.

jenkins docker install

2023

[linux] shell script version compare

최대 1 분 소요

개요 linux를 사용하다 보면 version 비교하는 기능이 필요합니다. 특히 기존 설치된 패키지의 version을 확인하여 업데이트할 경우가 있겠죠. 아래와 같이 간단한 shell script로 구현할 수 있습니다.

[jenkins] jenkins docker install

1 분 소요

ci/cd 오픈소스 도구로 가장 많이 사랑 받는 jenkins에 대해 포스팅 해보겠습니다. 먼저 설치부터 해야겠지요? 항상 패키지 매니저로 설치했었는데 이번에는 docker로 설치해보도록 하겠습니다.

[springboot] springboot history

2 분 소요

springboot 탄생 배경 springboot란 spring framework를 좀 더 쉽게 개발/배포할려는 목적으로 만들어 졌습니다. 2012년 Mike Youngstrom은 spring 프레임워크에서 컨테이너 없는 웹 애플리케이션 아키텍처에 대한 지원을 요청하는 spring...

[springboot] springboot3 querydsl 적용

1 분 소요

개요 springboot3로 메이저 업그레이드 되면서 JPA + querydsl 셋팅 환경에 변화가 생겼습니다. 기존 의존성으로는 작동하지 않고 jakarta classification을 추가해야 작동하는 이슈가 발생합니다. springboot3부터 javax -> jakar...

[springboot] springboot3 migration

최대 1 분 소요

개요 2022년 하반기에 springboot3가 공식 release 되었습니다. springboot2가 2018년 상반기에 release되고 나서 새롭게 판올림 버전으로 가장 큰 변화로는 아래와 같습니다. spring framework 6 적용 최소 사양 JDK 17 ...

[springboot] springboot initializer

최대 1 분 소요

개요 항상 intellij ultimate 버전만 사용하고 있었는데 무슨 바람이 난건지.. intellij ce 버전에 도전하였습니다. springboot 프로젝트 생성이며.. 그 밖에 기본적으로 될꺼라 싶은것 중에 안되는 녀석들도 꽤 있더군요. 이번 시간엔 간단하게 spingbo...

[querydsl] querydsl No release for a long time

최대 1 분 소요

개요 JPA를 spring data jpa + querydsl과의 조합으로 접하는 경우가 많습니다. spring data jpa에서 제공해주는 specification으로도 충분히 해낼수 있지만 querydsl에 비할바는 아닙니다. entity에 wrapper Q클래스를 생성하여 ...

[jekyll] jekyll install

6 분 소요

개요 오랫동안 방치했던 블로그를 다시 열면서 jekyll를 다시 설치해봤습니다. 설치 jekyll 프로젝트로 이동하여 아래 명령어를 입력합니다. gem install jekyll bundler Fetching pathutil-0.16.2.gem Fetching terminal-t...

맨 위로 이동 ↑

2021

[linux] Parse yaml

최대 1 분 소요

bash를 사용하여 yaml 파일을 파싱 및 환경 변수로 손쉽게 등록할 수 있습니다.

[유틸리티] Mock Http Status Test

최대 1 분 소요

외부 통신에 대한 Error 처리는 앱을 더욱 더 견고하게 만들 수 있습니다. Error 처리를 위해 엔드포인트에 대한 Http Status Code를 억지로 생성하는것은 매우 귀찮은 일이라고 할까요? 보다 간편하게 Mock 서버를 두는게 더 효율적이라고 볼 수 있습니다.

맨 위로 이동 ↑