DevOps

Jenkins 사용법 / Jenkins Pipeline

bell22 2020. 12. 9. 14:04

최근 CI/CD에 대해서 공부하던 중, Jenkins(젠킨스)를 사용할 기회가 생겼다

이왕 사용해본거 정리하기로 했다. 

 

- Jenkins 정의

- Jenkins Pipeline (?)

- Jenkins 사용법

 

요 3가지만 알면 된다


1. Jenkins 정의

공식문서: 소프트웨어 빌드, 테스트, 제공, 배포와 관련된 모든 종류의 작업을 자동화하는 데 사용할 수 있는 독립형 오픈소스 자동화 서버

젠킨스는 간단히 정의하면 CI 기능을 지원하는 툴이다

 

그러면 CI(Continuous Integration)는 뭘까?

말 그대로는 지속적 통합이다

즉, 개발자가 코드를 수정->빌드->테스트->merge 되는 단계를 자동화한 것

 

코드를 작성/수정할 때마다 빌드하고,, 테스트하고,, merge 되길 기다리고,,하나하나 하는건 너무 번거롭기 때문에

이를 한번에 할 수 있게 하자 하는 것을 CI라고 부를 뿐이다

 

그러면 왜 젠킨스는 뭘 지원하길래 CI 툴이라고 하는걸까.

 

 

2. Jenkins Pipeline

공식문서에서도 젠킨스 설치 방법 알려주고서 설명하는게 파이프라인이다

벌써 어렵다. 쉬운 단어가 하나 없다

 

파이프라인은,

위키백과: 데이터 처리 단계의 출력이 다음 단계의 입력으로 이어지는 형태로 연결된 구조

 

CI가 여러 단계를 자동화하는 것이라면, 파이프라인은 좀더 포괄적으로 여러 단계를 모아놓은 것이다

CI Pipeline을 쉽게 말하면, 개발~배포까지의 과정을 자동화 할 수 있는 단계라고 할 수 있다

우리가 뭘 할때 잔머리 굴려서 아 어떻게 편하고 빨리 해결하지,, 하는데 CI 만든 사람도 그랬나보다

 

어쨌든 젠킨스는 파이프라인 기능을 지원한다. 

그러면 어떻게 사용할까?

 

 

3. Jenkins 사용법

젠킨스 설치는 다른 좋은 글이 많다. 공식문서도 친절한 것 같다

운영체제마다 설치 방법이 다를거라서, 간단한 팁 두가지만 남기자면,

 

- java 설치했는지

- 설정파일에 jdk 경로, HTTP port, jenkins home, jenkins user 설정이 맞게 되어있는지

(저는 우분투에서 진행했는데, 설정파일은 /etc/default/jenkins 여기다)

 

요거만 잘 되어있으면 잘 될겁니당,,(사진에 링크있츰)

젠킨스 잘 설치되면 나오는 창입니다

잘 설치돼서 위에↑ 화면이 나오면 잠시 기뻐하면 됩니다

 

젠킨스 대쉬보드 홈화면

그러면 이런 젠킨스 대쉬보드를 만날수가 있는데, 처음에 프로젝트 만들 때 어떻게 해야하는지 잘 몰라서, 많이 헤맸습니다

 

젠킨스를 사용하려면 두가지 정도는 기억을 해야합니다

1) 새로운 Item으로 프로젝트 하나를 만들자

2) 만들려고하는 기능의 Plugin을 잘 설치했는가

 

대쉬보드를 간단히 설명하자면,

우측에 보이는 날씨 모양이 있는 표가 새로운 Item으로 생성한 프로젝트들이고,

좌측은 젠킨스를 설정할 수 있는 메뉴들이 있습니다.

 

젠킨스 관리버튼 눌렀을 때 나오는 화면

그리고 젠킨스에 어떤 설정을 하고자하면, 시스템 설정이나 플러그인 관리에서 해주면 됩니다

시스템 설정은 말 그대로 설정이고 (ex. 홈 디렉터리 설정이나 IP 설정 등등)

 

플러그인 관리를 눌러보면

젠킨스 플러그인 관리 누르면 나오는 창

요런 창이 뜨는데, 여기서 검색부분에 원하는 기능을 써주고 설치하고 싶은거 쓰면 됩니다

pipeline 기능을 쓰고 싶다면 [설치가능]-pipeline 검색해서 체크박스 활성화해주고 설치하기(아무거나) 누르면 됩니다

 

젠킨스 Docker 플러그인 설치중

 

Q) 검색했는데 종류 많아서 뭘 설치해야할지 모르겠다?

A) 구글에 검색하면 됩니다

Q) 설치화면(위 화면↑)까지 넘어갔는데 이상할정도 설치가 오래걸린다?

A) 새로고침하고 다시 설치됐는지 확인하면 됩니다.

 


파이프라인 프로젝트 만드는거까지 작성할려고 했는데 생각보다 길어졌다

다음 글에 쓸거다

 

 

 

+ 참고로 젠킨스 로고에 있는 아저씨는 참 귀엽다

검색해보면 엄청 다양함

 


* 참고 자료

젠킨스 공식 문서: www.jenkins.io/doc/

 

Jenkins User Documentation

Jenkins – an open source automation server which enables developers around the world to reliably build, test, and deploy their software

www.jenkins.io

github.com/jenkinsci/jenkins

 

jenkinsci/jenkins

Jenkins automation server. Contribute to jenkinsci/jenkins development by creating an account on GitHub.

github.com

ko.wikipedia.org/wiki/%ED%8C%8C%EC%9D%B4%ED%94%84%EB%9D%BC%EC%9D%B8_(%EC%BB%B4%ED%93%A8%ED%8C%85)

 

파이프라인 (컴퓨팅) - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 컴퓨터 과학에서 파이프라인(영어: pipeline)은 한 데이터 처리 단계의 출력이 다음 단계의 입력으로 이어지는 형태로 연결된 구조를 가리킨다. 이렇게 연결된 데

ko.wikipedia.org

dev-joo.tistory.com/m/26?category=787806

 

젠킨스 설치하기

환경 Ubuntu 16.04 jdk 1.8.0 다운로드는 젠킨스의 ubuntu download 부분을 참고하였다. (https://pkg.jenkins.io/debian-stable/) 1. package repository 추가 wget -q -O - https://pkg.jenkins.io/debian-stab..

dev-joo.tistory.com

 

'DevOps' 카테고리의 다른 글

Docker MariaDB container 실행 방법  (2) 2022.11.30
Jenkins Pipeline / Pipeline Script 작성  (2) 2020.12.09