Jenkins - Pipeline 프로젝트 생성 > Jenkins 자료실

본문 바로가기
사이트 내 전체검색

Jenkins 자료실

Jenkins - Pipeline 프로젝트 생성

페이지 정보

profile_image
작성자 snow
댓글 0건 조회 1,146회 작성일 25-03-07 09:20

본문

1. Jenkins Pipeline 프로젝트 생성 및 시작

이 게시글에서는 Jenkins Pipeline 프로젝트 생성 및 시작에 대한 문서를 살펴보고, 예시만 안내드리는 글입니다.

Jenkins Pipeline을 제대로 시작하기 위해서는 Pipeline 플러그인을 설치해야 합니다. 일반적으로 Jenkins 설치 이후 초기 설정 시 자동으로 설치를 유도하는 플러그인을 함께 설치하면 간단히 사용할 수 있습니다.

이때 Jenkins Pipeline에서 가장 중요한 구성 요소가 바로 Jenkinsfile입니다. 이 Jenkinsfile을 통해 파이프라인의 단계를 정의할 수 있으며, 코드를 보관하고 있는 저장소에서 함께 관리하는 방식이 가장 바람직합니다. 또한 Blue Ocean 인터페이스나 Jenkins 클래식 UI를 통해 직접 파이프라인 설정을 입력할 수도 있습니다. 파이프라인 설정 방법은 여러 가지가 있지만, 일반적으로 코드가 저장된 저장소에 Jenkinsfile을 두고 Jenkins가 이를 읽어 실행하게 하는 방식을 권장합니다.


1.1. 사전 준비 사항

- Jenkins 2.x 이상 버전이 설치되어 있어야 합니다.
- Pipeline 플러그인이 설치되어 있어야 합니다. 보통 추천 플러그인 설치 목록에 포함되어 자동으로 설치되지만, 누락되었다면 플러그인 관리 메뉴를 통해 추가로 설치할 수 있습니다.
- 소스 코드가 저장된 저장소(SCM)와 연동할 경우 적절한 접근 권한이 필요합니다. 예를 들어 GitHub, GitLab, Bitbucket 등에서 토큰 혹은 SSH 키 설정을 사전에 해두면 좋습니다.

추가로, Jenkins를 설치 후 운영체제별로 서비스를 시작하거나 재시작할 수 있는 명령을 수행해야 할 수도 있습니다. 예시로 Ubuntu 계열 시스템에서는 다음과 같은 명령을 통해 Jenkins를 구동할 수 있습니다.

```bash

sudo systemctl start jenkins

```

위 명령을 실행하면 Jenkins 서비스가 시작되어 브라우저에서 Jenkins 대시보드로 접근할 수 있게 됩니다.


1.2. Jenkinsfile 정의 방식

Jenkinsfile은 크게 Declarative Pipeline과 Scripted Pipeline 두 가지 DSL 형식을 통해 작성할 수 있습니다. Declarative Pipeline은 문법이 좀 더 제한적이지만 간결하고 직관적이며, Scripted Pipeline은 Groovy 문법을 보다 자유롭게 활용할 수 있어 복잡한 시나리오 구현에 용이합니다.

Pipeline을 정의하는 방법은 크게 다음 세 가지입니다.

1. Blue Ocean 활용
2. Jenkins 클래식 UI 활용
3. 저장소(SCM)에 직접 Jenkinsfile 작성

Blue Ocean을 사용하면 시각적인 편집기를 통해 Jenkinsfile을 자동으로 생성하고, 저장소에 커밋하는 과정을 쉽게 진행할 수 있습니다. 클래식 UI를 사용하면 Jenkins 대시보드에서 직접 스크립트를 입력해 간단한 파이프라인을 테스트할 수 있고, 저장소에 직접 파일을 작성해 관리하는 방식은 협업 시나리오에 적합합니다.


1.2.1. Blue Ocean을 통한 파이프라인 설정

Blue Ocean은 Jenkins 환경을 좀 더 직관적인 GUI로 보여주는 인터페이스입니다. 새롭게 Jenkins Pipeline을 구성할 때, Blue Ocean이 소스 저장소에 대한 연결을 설정해주고, 시각적인 파이프라인 편집기를 제공하여 Jenkinsfile을 자동으로 생성해줍니다. 이렇게 생성된 Jenkinsfile은 저장소에 안전하게 커밋되므로, 별도로 파일을 이동하거나 백업할 필요 없이 손쉽게 버전 관리가 이뤄집니다.

다음은 Blue Ocean 환경을 통해 Jenkins Pipeline 프로젝트를 생성하는 일반적인 흐름입니다.

1. Jenkins 대시보드에서 Blue Ocean 플러그인을 클릭하거나 주소를 통해 접근합니다.
2. 파이프라인 생성 옵션을 선택하고, 연결할 저장소를 인증 혹은 연동합니다.
3. 자동으로 Jenkinsfile이 생성되면, 시각적 편집기를 통해 필요한 단계(Stage)와 동작(Step)을 구성합니다.
4. 생성된 파이프라인 설정이 저장소에 커밋되면서 Pipeline 프로젝트가 완성됩니다.

Blue Ocean에 관한 자세한 내용은 관련 문서를 참고하면 좋습니다만, 여기서는 간단히 파이프라인 생성을 손쉽게 도와주는 도구라는 점만 인지하고 넘어가도 충분합니다.


1.2.2. Jenkins 클래식 UI를 통한 파이프라인 생성

Jenkins 클래식 UI(고전 UI)를 활용하면, Jenkins 대시보드에서 "New Item" 버튼을 통해 간단히 파이프라인 프로젝트를 생성할 수 있습니다. 이 방법은 다음과 같은 순서로 진행합니다.

1. Jenkins 대시보드에서 "New Item"을 클릭합니다.
2. 생성할 프로젝트 이름을 입력한 뒤, "Pipeline" 유형을 선택하고 "OK" 버튼을 누릅니다.
3. "Pipeline" 탭에서 "Definition"을 "Pipeline script"로 지정합니다.
4. "Script" 영역에 파이프라인 코드를 직접 작성하거나 붙여넣습니다.

아래와 같은 Declarative Pipeline 예시를 참고해 간단히 실행해볼 수 있습니다.

```groovy

// Declarative

pipeline (

 agent any

 stages (

  stage('Stage 1') (

   steps (

    echo 'Hello world!'

   )

 )

)

)

// Scripted

node (

 stage('Stage 1') (

  echo 'Hello World'

 )

)

```

위 코드는 매우 간단한 예시로, "Stage 1"에서 "Hello world!"라는 메시지를 출력하는 파이프라인입니다. "pipeline" 혹은 "node"는 Jenkins 환경 내에서 에이전트를 할당받아 작업을 실행하는 주요 개념이며, "echo"는 콘솔 출력에 문자열을 표시하는 역할을 합니다.

스크립트를 입력한 후 "Save" 버튼을 누르면 생성된 파이프라인 프로젝트의 상세 페이지로 이동합니다. 이후 "Build Now" 버튼을 누르면 파이프라인이 실행되고, "Console Output"을 통해 실제 로그 출력을 확인할 수 있습니다.

이 방법은 Jenkinsfile을 저장소에 따로 두지 않아도 되므로, 간단한 테스트나 빠른 검증에 적합합니다. 다만, 추후 프로젝트가 복잡해지거나 다른 사람과 협업해야 할 때는 버전 관리를 위해 Jenkinsfile을 저장소에서 관리하는 편이 좋습니다.


1.2.3. SCM에 Jenkinsfile 작성하기

파이프라인이 점점 복잡해지면, Jenkins 클래식 UI에서 직접 코드를 관리하기보다는 소스 코드와 함께 Jenkinsfile을 저장소에서 관리하는 편이 유리합니다. 예를 들어 Git이나 Subversion, Mercurial 등의 저장소를 사용할 수 있습니다. 저장소의 디렉터리 구조 안에 Jenkinsfile을 두고, Jenkins 설정에서 "Pipeline script from SCM" 옵션을 사용하면 됩니다.

프로젝트를 구성하는 절차는 다음과 같습니다.

1. Jenkins에서 새 파이프라인 아이템을 생성합니다.
2. "Definition"을 "Pipeline script from SCM"으로 선택합니다.
3. "SCM" 유형(예: Git)을 선택하고, 저장소 URL과 자격 정보를 입력합니다.
4. "Script Path" 필드에 Jenkinsfile 경로를 설정합니다. 예를 들어 저장소 루트에 Jenkinsfile이 위치해 있다면 기본값을 그대로 둬도 됩니다.

이렇게 설정하면 Jenkins는 빌드할 때마다 자동으로 저장소에서 Jenkinsfile을 가져와 파이프라인을 실행합니다. 저장소에서 Jenkinsfile을 직접 관리하므로, 코드를 수정할 때마다 빌드 내용이 추적되고, 협업 시에도 어떤 변경이 있었는지 한눈에 파악하기 쉽습니다.


1.3. 터미널 명령으로 살펴보는 Jenkins

Jenkins Pipeline을 설정하고 나면, 때로는 서버 환경에서 직접 Jenkins를 관리해야 할 일이 생깁니다. 간단히 말해서 Jenkins를 설치하고, 플러그인을 업데이트하고, 특정 서비스를 재시작하는 등의 작업을 위해 터미널 명령을 사용할 수 있습니다. 예를 들어 다음과 같은 명령들을 살펴봅시다.

```bash

sudo apt-get update

sudo apt-get install jenkins

```

위와 같이 입력하면, 우분투 계열 리눅스 시스템에서 Jenkins를 새로 설치하거나 업데이트할 수 있습니다. 해당 명령을 실행할 시 Jenkins 패키지가 설치되고 최신 상태로 유지되는 효과를 얻습니다.

```bash

sudo service jenkins restart

```

이 명령을 실행하면 Jenkins 서비스를 재시작하여, 새로운 설정이나 플러그인 반영을 빠르게 적용할 수 있습니다. 이러한 방식으로, Jenkins와 관련된 주요 동작은 터미널 명령을 통해 제어되고, 문제가 생겼을 때 빠르게 로그를 확인하거나 재시작할 수 있다는 장점이 있습니다.

출처: [Jenkins] https://www.jenkins.io/doc/book/installing/docker (CC BY-SA 4.0)

댓글목록

등록된 댓글이 없습니다.

회원로그인

회원가입

사이트 정보

회사명 : (주)리눅스데이타시스템
대표이사 : 정정모
본사 : 강남구 봉은사로 114길 40 홍선빌딩 2층
- tel : 02-6207-1160
대전지사 : 유성구 노은로174 도원프라자 5층
- tel : 042-331-1161

접속자집계

오늘
2,110
어제
2,585
최대
8,445
전체
2,034,320
Copyright © www.linuxdata.org All rights reserved.