[Jenkins]Jenkins란? + Jenkins 설치(Window) , JENKINS_HOME 설정

zzarbttoo·2021년 8월 14일
0

docker/jenkins/k8s

목록 보기
5/7

주의 : 저는 혼자서 배포 공부하는 과정이라 local에 배포해보려고(local이 곧 서버인 상황)하는건데
실제 배포하려는 분들은 배포하는 서버 환경에 까셔야합니다
그리고 리눅스 랑 윈도우랑 jenkins 명령어가 조금 다를 수 있으니 양해 부탁드려요!

안녕하세요 하하
오늘은 CI/CD 를 진행하기 위해 Jenkins 를 설치하는 과정을 다뤄보겠습니다!

일단 그에 앞서 CI/CD가 무엇인지, Jenkins가 무엇인지에 대해 공부해보도록 하겠습니다~

CI/CD 란?

CI/CD의 정의는 다음과 같습니다!

CI(Continuous Integration) : 지속적 통합

->여러 개발자들의 코드를 통합하는 것

CD(Continuous Delivery/Continuous Deployment) : 지속적 전달

->통합한 코드를 사용자(소비자 혹은 개발자)가 사용 가능한 환경에 배포하는 것을 자동화

즉 CI/CD는 개발자들의 개발 환경(Local)을 서비스 환경(Deployment, QA, Production)으로 지속적이고 자동화 된 방식으로 전달하여 개발환경과 서비스 환경의 격차를 줄이는 것을 말합니다!
(여기서 서비스 환경은 소비자가 사용하는 환경 뿐만 아니라 또 다른 개발자들이 사용하는 환경도 포함한 말 입니다)😀

이렇게 CI를 할 경우, 시스템 개발을 할 때 합치는 과정에서 발생하는 문제(주섬주섬 conflict를 해결하는 등)를 없앨 수 있고 CD를 할 경우 배포 과정에서 발생하는 문제(한명에게 몰빵되는 배포 노동, 배포 후 여기저기서 튀어나오는 여기 안돼요 등)들을 막을 수 있습니다!

local에서 코드를 잘 작성하기만 하면 build/Test/Deploy는 CI/CD 툴이 알아서 해주니, 개발자는 코드에 집중을 할 수 있게 되는 것입니다


Jenkins란?

Jenkins 로고가 시종처럼 생긴것을 보면 알 수 있듯이 Jenkins는 많은 일들을 처리해주는데요 Jenkins는 CI/CD 툴로 다양한 플러그인들을 활용해 자동화 작업 처리를 할 수 있도록 합니다!

사실 Jenkins 자체는 껍데기이고, 안에 플러그인들을 선택하고 연결하면서 파이프라인(개발->빌드->테스트->배포 과정)을 구축할 수 있습니다!


Jenkins 설치(Window)

고럼 이제 설치를 해보겠습니다!
jenkins 를 설치하기 위해서는 다음과 같은 조건을 만족해야 하는데요

Jenkins는 Java Runtime 환경 위에서 도는 서버이기 때문에 java를 깔거나 Docker(jdk 포함 이미지) 위에서 돌도록 하면 됩니다!
그리고 Jenkins를 실행하는 도중 jenkins가 docker 을 사용하는 경우가 있기 때문에 docker 을 필수로 설치해야 하는 듯 합니다

일단 홈페이지에 들어가서 맨 앞에 대문짝만하게 있는 Download 버튼을 누르면 다운로드 페이지로 들어가게 됩니다

전 윈도우에 설치할거여서(이미 jdk 설치도 돼있음) Windows를 클릭했지만 도커 이미지도 있으니 참고하시면 좋을 듯 합니다!(특히 컴퓨터에 jdk 8 이상이 설치 안돼있는 사람의 경우)

아무튼 다운로드 후 설치를 진행할 수 있는데요

저는 local에서만 사용할 거여서 logon type 을 위처럼 설정했어요

그리고 8080 포트에서 jenkins 서버가 돌아가도록 했습니다
(이제 스프링 부트 포트 설정은 겹치지 않게 항상 다른 것을 해줘야겠군요)

그리고 jdk가 설치되어 있는 java home을 선택하도록 되어있는데, 자바가 미리 설치되어 있다면 자동으로 지정을 해주더라구요
이제 next 를 누르면 설치가 진행되게 됩니다


설치가 다 된 후 localhost:8080 이 자동으로 뜨게 되고
Jenkins에 접속하기 위한 비밀 번호를 입력하라고 뜨는데

관리자 권한으로

C:\Windows\System32\config\systemprofile\AppData\Local\Jenkins\.jenkins\secrets

폴더에 가서 initialAdminPassward 내부 값 복사를 해서 붙여주시면 됩니다!

이후 플러그인을 설치할 수 있도록 하는데,
install suggested plugins를 선택하면 웬만한 플러그인은 미리 다 설치가 됩니다

  • Credential Plugin : 권한 관련 플러그인(Git : Access Token, AWS Key 등 키 관리)
  • Git Plugin : Git Repository 에 변화가 있을 때 build를 가능하게 하는 플러그인
  • Docker plugin : jenkins 안에서 docker 다운받고 사용해야 해서 필요한 플러그인 (혹스 도커 플러그인은 직접 설치하셔야 하더라구요!)
  • Pipeline : plugin들의 집합. 문법에 따라 plugin의 순서, 분기문(declaratives), 실행 주기(trigger) 등을 정할 수 있다
    등 여러가지 플러그인들이 설치가 되는 것을 확인할 수 있습니다

설치가 다 된 후에는 Admin User 을 만들도록 하는데,
앞으로 jenkins 로그인 화면에 이 계정을 입력하면 됩니다
이후 jenkins URL 을 입력하는 창이 나타나는데 저는 그대로 진행했습니다(default : http://localhost:8080)
고럼 이제 대시 보드 창이 나타나게 됩니다!
😊

이제 path 설정을 하러갈겁니다
사실 안해도 상관 없지만, 필요한 상황이 올 수도 있습니다(스킵하셔도 됩니다)

Jenkins 관리 -> 시스템 설정 에 들어가시면 맨 위에 홈 디렉터리 주소가 뜹니다 복붙!

저 위치에서 jenkins 작업하는 pipeline 등등이 저장되고, 배포되게 됩니다!
패스 설정하는건 잘 아실 거라 생각하고 간단히 설명하면
내 PC 오른쪽 클릭 -> 속성 -> 고급 시스템 설정 -> 환경변수(맨 아래에 있음)클릭하면 됩니다
이후 System variable 설정을 해줍니다
시스템 목록을 찾아 JENKINS_HOME이 있는 걸 확인해주시고, 없다면 새로 만들기 후
변수 이름 : JENKINS_HOME, 변수 값: Jenkins Home directory 값(바로 앞에서 복사한 그 값)붙여넣어주시면 됩니다!
이제 확인을 누르고 잘 설정되었나 보자면
잘 출력되는 것을 확인할 수 있습니다
영상을 보면 Home directory를 원하는 곳으로 바꿀 수도 있는 것 같더군요

다음에는 여러가지 플러그인을 조합해 파이프라인을 만드는 과정을 공부해보도록 할게요!

짜요~

profile
나는야 누워있는 개발머신

0개의 댓글