본문 바로가기
개발 방법론/DevOps의 개념

[Jenkins] 설치 및 기본 문법

by VictorMeredith 2023. 4. 10.

1. 설치 : 나는 MacOS다. 

brew install jenkins

 

2. 실행 : 설치가 다되면 실행한다.

brew services start jenkins

- 설치 이후 http://localhost:8080 로 접속한다.

- 터미널에 적힌 키를 이용하여 첫 접속을 한다. 안적혀있으면 다음 명령어를 터미널에 실행한다.

cat /Users/내컴터유저이름/.jenkins/secrets/initialAdminPassword

- 나오는 키를 입력하고 접속한다.

- 추천하는 플러그인을 설치하고 메인 대시보드를 확인한다.

 

3. 새로운 작업 생성(Pipeline)

- Jenkins 대시보드에서 "새로운 작업"을 선택하고, "Pipeline"을 선택한 후 작업 이름을 지정한다.

- 작업 설정 페이지에서 "Pipeline" 섹션으로 이동한다.

- "Definition"에서 "Pipeline script"을 선택하고, 파이프라인을 만들기 시작한다.

 

4-1. 파이프라인 

- Jenkins Pipeline은 지속적인 통합 및 배포 프로세스를 자동화하기 위한 스크립트를 작성하는 방법이다.

- Pipeline 스크립트는 "Jenkinsfile"이라는 파일에 작성되며, Groovy라는 프로그래밍 언어로 작성된다.

- Jenkins Pipeline은 Declarative Pipeline과 Scripted Pipeline 두 가지 형태로 작성할 수 있다.

- Declarative Pipeline 문법은 간결하고 구조화되어있어 이해가 쉽다. 더 많이 쓰인다.

4-2. 문법 - 구조

   1) 기본 형태

    - 이 블록은 파이프라인 구성의 최상위 수준이다.

.groovy 이다.

   2) Agent   

    - agent는 파이프라인 또는 스테이지 수준에서 작업을 실행할 환경을 정의한다.

    - agent any를 사용하면 어떤 환경에서든 작업이 실행된다.

agent any

   3) Stages 

   - stages 블록은 파이프라인의 여러 단계다. 각 단계는 stage 블록으로 정의되며, 하나 이상의 steps 블록을 포함한다.

stages

   4) Steps

    - steps 블록은 실제 작업을 정의한다. 작업은 명령어 실행, 스크립트 실행, 테스트 실행 등 다양한 형태가 될 수 있다.

Steps

   5) Post

    - post 블록은 파이프라인이나 스테이지가 완료된 후에 실행할 작업을 정의한다. 다양한 상태에 따라 다른 작업을 수행할 수 있다.

    - 예를 들어, always, success, failure, unstable, changed 등의 조건을 사용할 수 있다.

post 블록

4-3. 문법 - 키워드

   1) ehco 

    - echo는 Jenkins Pipeline 스크립트 내에서 텍스트 메시지를 출력하는 데 사용되는 기본 명령어.

    - echo 명령어는 파이프라인 실행 중에 로그에 메시지를 기록할 때 주로 사용된다.

Hello World!

   2) def

    - 변수를 정의하는 데 사용되는 키워드. 데이터를 저장하고 다른 곳에서 참조하는 데 사용된다.

    - def 키워드로 선언된 변수는 로컬 스코프 또는 전역 스코프에 있을 수 있다.

    - 사용자 정의 함수를 정의할 수도 있다.

def 키워드

   3) sh

    - 쉘 명령어를 실행하는 데 사용되는 키워드. sh를 사용하여 파이프라인 작업 중에 필요한 스크립트, 명령어, 도구를 실행할 수 있다.

    - sh는 주로 소스 코드의 빌드, 테스트, 배포와 같은 작업을 수행할 때 사용된다.

sh 키워드

   4) 다른 중요한 키워드들 

    - dir : 작업을 수행할 디렉토리를 변경하는 데 사용

    - checkout : 소스 코드를 저장소에서 가져오는 데 사용

    - archiveArtifacts : 빌드 결과물을 저장하고 관리하는 데 사용. 특정 파일 또는 디렉토리를 보관할 수 있다.

    - timeout , credentials, retry, input 등등이 있다.

 

댓글