[Jenkins] Jobs

반응형

이번글에서는 Jenkins의 jobs에 대해 알아보도록 하겠습니다.

1. Job

job이란 jenkins에서 실행되는 각각의 작업을 의미합니다.

사용자는 job을 생성하고, 해당 job에서 수행할 작업을 정의할 수 있습니다.

1-1) create job

image.png

job을 생성하기위해 New item으로 이동해 생성할 job의 이름을 입력합니다. job의 종류는 freestyle project를 선택하고 OK를 누릅니다. pipline 등의 복잡한 작업들은 다음에 다뤄보도록 하겠습니다. 이번엔 가장 기본적인 freestyle project을 사용합니다.

image.png

OK 버튼을 누르면 아래와 같이 작업을 정의하는 화면이 나타나게 됩니다. 간단히 살펴보겠습니다.

image.png

1-2) general

job의 기본적인 설정을 정의합니다.

image.png

1-3) source code management

job에서 사용할 source code의 위치를 정의합니다.

source code management를 사용하기위해선 각 source code management의 plugin을 다운받아야 합니다. 저는 git을 다운받았기 때문에 아래와 같이 git을 선택할 수 있습니다.

image.png

Repository URL에 job에서 사용할 github의 repository url을 입력하면 됩니다. private 저장소일 경우 credentails을 추가해 사용할 수 있습니다. 또한, job에서 사용할 branch도 직접 선택해 사용할 수 있습니다. default branch는 master입니다.

1-4) build triggers

job을 실행시킬 trigger event를 선택합니다.

image.png

위에서 Github hook trigger를 선택할 경우, source code management에 등록한 repository에 commit이 발생하면 자동으로 jenkins job이 실행됩니다.

1-5) build

job이 실행될때 수행할 build script를 작성합니다.

linux의 경우엔 Excute shell을 선택하고 수행할 build command line를 순서대로 작성하면 됩니다.

image.png

예를 들어 아래와 같이 pwd를 입력하면

image.png

job이 실행될때 pwd를 수행합니다.

image.png

1-6) post-build actions

해당 job 완료 후 수행할 작업을 정의합니다.

email notification을 선택할 경우 job 상황별 email send 작업을 정의할 수 있습니다.

image.png

2. Run

생성한 job은 jenkins 메인 화면에서 확인할 수 있습니다.

이때 왼쪽의 'S'는 last build의 status를 나타내며, 'W'는 최근 5번 job의 build status를 나타냅니다.

image.png

job의 이름 옆을 클릭한 뒤 build now를 선택해 해당 job을 실행할 수 있습니다.

image.png

3. Trigger Job Remotely

jenkins 외부에서 jenkins에 정의한 job을 실행하도록 명령할 수 있습니다.

사용방법은 간단합니다. 위에서 생성한 job의 configure 탭으로 이동해보겠습니다.

image.png

build trigger에서 trigger builds remotely를 선택한뒤 Authentication Token에 임의의 값을 작성해 저장합니다.

image.png

이제 아래의 remote url에 위에서 저장한 token 값을 던져주면, 원격에서 jenkins의 job을 실행할 수 있습니다.

remote url

JENKINS_URL/job/test/build?token=TOKEN_NAME 

저의 jenkins url에 token을 던져보도록 하겠습니다. 제 토큰은 1234 입니다.

image.png

이후 메인화면에서 job을 확인해보면 정상적으로 build job이 수행된 것을 확인할 수 있습니다.

image.png

4. Chain job execution

이번에는 여러개의 job을 chain으로 엮어 보도록 하겠습니다.

각 job을 chain으로 연결하면, 특정 job이 완료되면 자동으로 연결된 job을 실행시킬 수 있습니다.

image.png

저는 test1와 test2을 연결해, test1가 완료되면 자동적으로 test2가 수행되도록 구성해보겠습니다. 마찬가지로 test2와 test3를 연결해 test2가 완료되면 자동적으로 test3가 수행되도록 구성해보겠습니다.

image.png

이를 위해선 test2의 configuration만 변경해주면 됩니다 😎.

test2의 configuration으로 이동하겠습니다.

image.png

4-1) build trigger

먼저 build trigger에서 build after other project are built를 선택하고, test1을 입력합니다. 이를 통해 test1의 build가 완료되면 test2가 수행되도록 정의합니다.

image.png

4-2) post build actions

다음으로 post build actions에서 build other project를 선택하고, test3를 입력합니다. 이를 통해 test2의 build가 완료되면 test3가 수행되도록 정의합니다.

image.png

위처럼 간단히 3개의 job을 chain으로 엮어 보았습니다.

테스트해보겠습니다 😎.

chain의 가장 맨앞단에 있는 test1만 build를 수행하면 연결된 test2와 test3가 자동으로 실행될 것입니다.

image.png

위와 같이 순서대로 3개의 job이 실행되는 것을 확인할 수 있습니다. 👏👏👏


참고 자료 : https://www.youtube.com/watch?v=63HEKFh8T2c&list=PLhW3qG5bs-L_ZCOA4zNPSoGbnVQ-rp_dG&index=7


추천서적

 

스프링 부트와 AWS로 혼자 구현하는 웹 서비스

COUPANG

www.coupang.com

파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음


반응형

'Jenkins' 카테고리의 다른 글

[Jenkins] Deploy  (0) 2020.08.21
[Jenkins] Compile  (0) 2020.08.21
[Jenkins] Basic Configurations  (0) 2020.08.21
[Jenkins] User & Role  (0) 2020.08.21
[Jenkins] CLI  (0) 2020.08.21

댓글

Designed by JB FACTORY