DevOps

Jenkins Pipeline / Pipeline Script 작성

bell22 2020. 12. 9. 19:13

젠킨스가 뭔지는 이전 글에서 나만 알아들을 수 있게 정리했다

그냥 CI 툴이구나. 이것저것 할 수 있구나만 알면 된다

어파치 해봐야 알수있다 ㅠㅠㅠ 

 

요번글에는 젠킨스 Pipeline 기능 사용하는 방법을 정리하려고 한다

 

- 젠킨스 새로운 Item 만드는 방법

- Pipeline 기능 사용 방법

- Pipeline Script 작성법

- 빌드 및 로그 확인 방법

 


1. 새로운 Item 만드는 방법

젠킨스 대쉬보드에서 새로운 Item (영어면 New Item)을 누르면 아래(↓)의 화면이 나온다

친절하게 설명하고 있는 젠킨스가 시키는대로 하면 된다

 

New Item 누르면 나오는 모습

- 만들 Item의 이름을 마음대로 적어주고

- Pipeline을 메뉴를 선택한다 

- 그리고 OK 버튼을 누른다

 

Freestype project처럼 기본 프로젝트로 생성해도 된다. 자신의 쓰임새에 맞게 만들면 된다

Multi-configuration도 해봐야겠다

 

New Item 만들면 나오는 화면

job소리지만

맨위에 [jenkins ▶ pipeline(Item 이름임)] 이렇게 되어있는거 지금 하고 있는게 뭔지 알기에 너무 편하다

쉘창에서도 pwd 커맨드를 제일 좋아해서 그런것 같다

 

New item 만들면, 위와 같은 화면으로 이동하게 되는데

Pipeline 프로젝트로 만든 경우에는 General, Build Triggers, Advanced Project Options, Pipeline 로 메뉴가 나온다

 

간단히 설명하면

- General: 지금 만든 아이템의 일반적인 설정

- Build Triggers: 보통 Git이나 Bitbucket 같은 레파지토리와 젠킨스를 많이 연동할텐데, 레파지토리에서 코드 수정하고 Push를 때릴 때 젠킨스가 자동으로 알아채고 Item을 자동으로 빌드할건지 설정할 때 쓴다 (나는 그랬다)

- Advanced Project Options: 옵션이다

- Pipeline: 파이프라인 구현할 때 쓴다

 

 

Build Triggers 기능은, Git 같은 레파지토리와 연동할 때 쓰는데, 이건 다음 글에서 쓸거다

이 글은 Pipeline을 위한거니까 ☆

아무튼 별 설정안하고 기본 구성만 해봐도 모양은 나오기에,, 스크롤을 쭉 내려준다

 

New Item-pipeline 메뉴

나는 처음 이걸보고 무슨 생각했냐면, 이게뭐지,, 싶었다

내가 아는 파이프라인 모양이 아니었다

?

그렇다... 이어진 모양으로 만들기 위해서는 스크립트로 코드를 이어서 써야한다

미리 완성하면 어떤 모습인지 얘기를 하자면

완성된 파이프라인

대충 요렇다,,, 

글을 쓰다보니 Pipeline 사용법인데 번호를 안적었다. 적어야겠다

 


2. Pipeline 사용법

Pipeline Definition

파이프라인에 있는 Definition을 눌러보면 두 가지중 선택할 수 있게 되어있다

- Pipeline script: 스크립트로 파이프라인을 만들겠다

- Pipeline script from SCM: SCM(?)으로부터 스크립트로 파이프라인을 만들겠다

 

* SCM(Source Code Management)이 뭘까?

Git 같은 소스 저장소에서 쓰는 단어이다. 직역하면 소스 코드 관리이다.

뭔말이야?

Git에서 코드를 수정하면 커밋을 하고, 커밋을 하면 로그가 남고, 이로 추적이 가능하다 

버전도 확인할 수 있고, 다른 사람과 같이 코드를 수정할 때도 Git이나 Bitbucket에서 관리해준다

그냥 그거다 

 

다시 돌아와서, 두개의 차이점은 

- Pipeline script: 젠킨스 바로 요기서 스크립트 작성할래~

- Pipeline script from SCM: 소스 코드로 스크립트 작성할래~ 경로는 여기야

라는거다,, 중요한건 이게 아닙니다

 

어떻게 작성할까? 가 이제 고민이 될 것이다

그렇다 스크립트 작성법을 알아야한다

 


3. Pipeline Script 작성법

스크립트 문법 또한 다른 글에 아주 잘 설명이 되어있다

어떤 방법이 있는지만 다루겠다. 

 

두가지만 알고 있으면 된다

- Pipeline Script 문법을 써야하는구나

- 젠킨스는 친절하구나

 

우선 이 글에서는 Pipeline script로만 정리할건데, SCM 사용할시에는 Script에 적은 부분을 파일로 만들기만 하면 돼서, 크게 다르지 않다. 그냥 파일일뿐@

 

 

1) Pipeline Script 종류

두가지가 있다고 알고 있다

하나는 Groovy 문법, 하나는 Declarative 이다

친절쓰

스크립트를 처음 쓰는 사람이 어떻게 알까? 그래서 샘플 코드를 제공한다

그래서 좀만 공부하면 금방 사용할 수 있게 되어있다

익숙한 Hello World를 눌러보면

Hello world 누른거

간단하게 Hello World를 출력할 수 있게 해주는 스크립트가 나타난다

끝났다(?)

여기서 주목할건 stages{ }, stage('Hello')이다

이게 뭔지 알고 싶다면 저장하고 빌드 해보면 된다

 

2) 근데 문법을 다 알아야하나?

아니다.

여기 아래에 Pipeline Syntax 너무 누르고 싶게 생겼다

눌러보면 젠킨스가 친절하게 스크립트를 작성할 수 있는 틀을 제공해준다

이건 구글링하면 될듯

삽질만 하지 말자


4. 빌드 및 로그 확인 방법

Item에서 설정 이것 저것하고 저장하면 아래 화면으로 다시 돌아온다

여기서 메인화면에 보이는 Stage View가 보이는데,

이게 위에 스크립트에서 작성한 Stages{ }를 UI로 보여주는 것과 같다

그리고 빌드는 좌측의 메뉴에서 [Build Now] 버튼만 눌러주면 된다

 

짠~

그러면 Build History에 파란색(성공) 공이 나오고, #1로 표기된 빌드 번호가 보인다

그리고 메인화면에 파이프라인 한칸이 생겼다

아까 스크립트에서 stage('Hello')가 파이프라인의 단계의 이름을 지정한 것이다

그러면 Hello World는 어디서 볼 수 있을까.

Stage 위에 마우스를 올려보면 너무 로그처럼 생긴 Logs가 보인다

 

그렇다.. 정말 로그였다.

근데 씨쟁이들은 이 로그 보는 방식이 마음에 들지 않는다

stage는 여러개가 될 수도 있는데, 하나하나 누르기도 싫다

여기 파란색 공모양에 시간을 눌러보면, 해당 빌드 넘버인 #1에 대한 정보를 볼수 있다

그리고 여기서 좌측의 Console Output 메뉴에서 로그를 볼 수 있다

에러가 났을 때도 로그를 확인하고 수정하면 된다

 

그러면 stage를 여러개로 만들어서 결과만 봐야겠다

다시 수정을 하고 싶다면, 파이프라인 그림 나온데서 톱니바퀴로 되어있는 구성(영어면 Configuration인듯)을 누르면 된다

 

수정하고 빌드한다

새로 반영이 되었다

빌드 넘버도 #2가 늘어난 것을 볼 수 있다

 

'DevOps' 카테고리의 다른 글

Docker MariaDB container 실행 방법  (2) 2022.11.30
Jenkins 사용법 / Jenkins Pipeline  (2) 2020.12.09