안녕하세요~ Administrator팀입니다 🦔
오늘은 지난 시간에 이어서 Jenkins 파이프라인 구축 방법에 대해서 알아보도록 하겠습니다!
┌ 지난 내용 2022.05.17 - [Infra/DevOps] - Jenkins Pipeline (1)
파이프라인 시작하기
앞서 언급했듯이 Jenkins Pipeline은 지속적 전달 파이프라인을 Jenkins에 구현하고 통합하는 것을 지원하는 플러그인 모음입니다. Pipeline은 Pipeline DSL을 통해 "코드로" 단순에서 복잡한 전달 파이프라인을 모델링하기 위한 확장 가능한 도구 세트를 제공합니다.
파이프라인 정의
파이프라인은 다음 3가지의 방법으로 만들 수 있습니다.
- Blue Ocean을 통해 파이프라인 프로젝트를 설정한 후 Blue Ocean UI를 통해 파이프라인에 Jenkinsfile을 작성하고, 소스 제어에 커밋할 수 있습니다.
- 클래식 UI를 통해 Jenkins에서 직접 기본 파이프라인을 입력할 수 있습니다.
- SCM에서는 Jenkinsfile 프로젝트의 소스 제어 저장소에 커밋할 수 있는 수동으로 작성할 수 있습니다.
작성 예시
작성 방법은 아래와 같이 2가지가 있습니다.
- Declarative Pipeline (선언적) : 보다 쉽게 작성할 수 있게 커스텀되어 있음. Groovy, Syntax 기반.
Scripted Pipeline 보다 훨씬 더 간단하게 작성할 수 있음
- Scripted Pipeline (스크립링된) : Groovy 기반, Declarative Pipeline보다 효과적으로 많은 기능을 포함하여 작성가능. 하지만 작성 난이도가 높음
이 2가지 문법은 서로 호환되지 않습니다.
따라서 Scripted 문법을 쓴다면 Scripted 문법만, Declarative 문법을 쓴다면 Declarative 문법만 써야합니다.
2가지 문법을 번갈아 사용은 가능하나, 동시에는 불가합니다. 다음 예시를 통해 알아봅시다!
Declarative 예시
Scripted 예시
Scripted -> Declarative
이처럼 두 개를 혼용하여 작성도 가능합니다.
이번 순서부터는 본인의 서버에 Jenkins가 설치되어있다는 가정하에 시작합니다!
Job 구성에서, 직접 Jenkinsfile 작성 (클래식 UI)
클래식 UI를 사용하여 생성된 Jenkinsfile은 Jenkins 자체에 의해 저장됩니다. (Jenkins 홈 디렉터리 내)
1. Jenkins에 로그인했는지 확인합니다.
2. Jenkins 홈페이지에서 왼쪽 상단의 새 항목을 클릭합니다.
3. 항목 이름 입력 필드에 새 파이프라인 프로젝트의 이름을 지정합니다.
주의 : Jenkins는 이 항목 이름을 사용하여 디스크에 디렉터리를 만듭니다. 항목 이름에 공백을 사용하지 않는 것이 좋습니다.
디렉터리 경로의 공백을 제대로 처리하지 않는 스크립트의 버그가 발견될 수 있기 때문입니다.
4. 아래로 스크롤하여 파이프라인을 클릭한 다음 페이지 끝에서 확인을 클릭하여 파이프라인 구성 페이지를 엽니다.
5. 페이지 상단의 파이프라인 탭을 클릭하여 파이프라인 섹션까지 아래로 스크롤합니다.
6. 파이프라인 섹션에서 정의 필드가 파이프라인 스크립트 옵션을 나타내는지 확인합니다.
7. 스크립트 텍스트 영역에 파이프라인 코드를 입력합니다.
Jenkinsfile (선언적 파이프라인)
pipeline {
agent any
stages {
stage('Stage 1') {
steps {
echo 'Hello world!'
}
}
}
}
① agent 에 전체 파이프라인에 대한 실행 프로그램(Jenkins 환경에서 사용 가능한 에이전트/노드)과
작업 공간을 할당하도록 지시합니다
② echo 콘솔 출력에 간단한 문자열을 씁니다.
8. 저장을 클릭하여 파이프라인 프로젝트/항목 보기 페이지를 엽니다.
9. 이 페이지에서 왼쪽의 Build Now를 클릭하여 파이프라인을 실행합니다.
10. 왼쪽의 빌드 기록에서 #1 을 클릭하여 이 특정 파이프라인 실행에 대한 세부 정보에 액세스합니다.
11. 파이프라인 실행의 전체 출력을 보려면 콘솔 출력을 클릭합니다.
다음 출력은 파이프라인의 성공적인 실행을 보여줍니다.
여기까지 Jenkins 파이프라인 구축 방법 중 클래식 UI를 사용하여 구성하는 방법에 대해 알아보았습니다.
조금이나마 도움이 되셨을까요?
긴 글 읽어주셔서 감사합니다 !! 다음 시간에 더욱 알찬 내용을 가져오기 위해 이만 가보겠습니다 🙄 베빠 ~~
reference site
(1) https://www.jenkins.io/doc/book/pipeline/getting-started/#_footnotedef_1
(2) https://bob-full.tistory.com/10
'INFRA > DevOps' 카테고리의 다른 글
Service - 1 (0) | 2022.06.02 |
---|---|
쿠버네티스 service (0) | 2022.05.30 |
Deployment (0) | 2022.05.20 |
쿠버네티스 오브젝트 (0) | 2022.05.17 |
Jenkins Pipeline (1) (0) | 2022.05.17 |
댓글