본문 바로가기
VCS/CICD

젠킨스 CLI와 원격 엑세스

by Jinger 2025. 1. 3.

서론

   젠킨스를 더욱 효율적으로 활용하기 위해 젠킨스 CLI원격 엑세스 API를 사용하는 방법을 알아보자.


젠킨스 CLI 이해

   Jenkins CLI(Command Line Interface)는 명령줄을 통해 젠킨스를 관리할 수 있는 도구이다. 이를 통해 젠킨스 서버에 원격으로 접속하여 작업 생성, 삭제, 빌드 트리거 등의 다양한 작업을 수행할 수 있다.

젠킨스 CLI 파일 다운로드

  1. 젠킨스 대시보드에 접속한다.
  2. 화면 하단의 Jenkins CLI 링크를 클릭하여 jenkins-cli.jar 파일을 다운로드한다.

   다운로드한 jenkins-cli.jar 파일은 명령줄에서 다음과 같이 실행할 수 있다.

java -jar jenkins-cli.jar -s http://your-jenkins-server:8080/ help

젠킨스 CLI로 작업 생성

1.CLI 명령어로 작업을 생성하려면 XML 파일을 준비한다.

java -jar jenkins-cli.jar -s http://your-jenkins-server:8080/ create-job my-job < job-config.xml

2.job-config.xml 파일에는 작업 구성 정보를 포함해야 한다.

작업 내보내기

   젠킨스에서 기존 작업의 구성을 내보내기 위해 다음 명령어를 사용한다.

java -jar jenkins-cli.jar -s http://your-jenkins-server:8080/ get-job my-job > job-config.xml

   이렇게 하면 my-job의 구성을 job-config.xml 파일로 저장할 수 있다.

작업 가져오기

   내보낸 작업 구성을 젠킨스에 다시 가져오려면 다음 명령어를 사용한다.

java -jar jenkins-cli.jar -s http://your-jenkins-server:8080/ update-job my-job < job-config.xml

 

젠킨스의 원격 엑세스 API 이해

   Jenkins Remote Access API는 RESTful API를 통해 젠킨스와 통신할 수 있는 기능을 제공한다. 이 API를 사용하면 프로그램을 통해 젠킨스 작업을 생성, 수정, 실행할 수 있다.

젠킨스 원격 엑세스 API 사용

1. 젠킨스 원격 API로 기존 젠킨스 작업 구성 입수:

다음 URL로 GET 요청을 보내면 작업 구성 정보를 XML 형식으로 받을 수 있다.

http://your-jenkins-server:8080/job/my-job/config.xml

2. 젠킨스 원격 API로 새 젠킨스 작업 생성:

POST 요청을 통해 새로운 작업을 생성할 수 있다.

curl -X POST -d @job-config.xml -H "Content-Type: application/xml" http://your-jenkins-server:8080/createItem?name=my-job

3. 젠킨스 원격 API로 매개변수형 젠킨스 작업 시작:

다음 명령어로 매개변수형 작업을 원격으로 시작할 수 있다.

curl -X POST "http://your-jenkins-server:8080/job/my-job/buildWithParameters?param1=value1&param2=value2"

4. 젠킨스 원격 API로 일반 젠킨스 작업 시작:

다음 명령어로 일반 작업을 시작할 수 있다.

curl -X POST http://your-jenkins-server:8080/job/my-job/build

python-jenkins로 젠킨스 서버 작업

   python-jenkins는 파이썬을 사용하여 젠킨스를 관리할 수 있는 라이브러리이다. 설치 방법은 다음과 같다.

pip install python-jenkins

   파이썬 코드로 젠킨스 작업을 생성하고 빌드를 트리거할 수 있다.

import jenkins

server = jenkins.Jenkins('http://your-jenkins-server:8080', username='your-username', password='your-password')
server.create_job('my-job', job_config)
server.build_job('my-job')

젠킨스 파이프라인에서 공유 라이브러리 사용

공유 라이브러리를 사용하면 코드 재사용성을 높이고 파이프라인 작업을 더욱 효율적으로 관리할 수 있다.

1. groovy 파일에 공유 라이브러리 생성:

공유 라이브러리는 groovy 파일로 작성한다. 예를 들어, 다음과 같이 vars 디렉터리에 공유 함수 파일을 생성한다.

// vars/utility.groovy
def sayHello(name) {
    echo "Hello, ${name}!"
}

2. 생성된 공유 라이브러리 파일을 깃랩 리포지터리로 푸시:

로컬에서 작성한 공유 라이브러리를 깃랩 리포지터리에 푸시한다.

git add .
git commit -m "Add shared library"
git push origin main

3. 젠킨스에서 공유 라이브러리 구성:

  1. 젠킨스 대시보드에서 Manage Jenkins > Configure System으로 이동한다.
  2. Global Pipeline Libraries 섹션에서 새로운 라이브러리를 추가한다.
  3. 깃랩 리포지터리 URL과 인증 정보를 입력한다.

4. 공유 라이브러리 사용 파이프라인 작업 생성:

파이프라인 코드에서 공유 라이브러리를 호출할 수 있다.

@Library('my-shared-library') _

groovyScript {
    utility.sayHello('Jenkins')
}

5. 파이프라인 작업 실행하기:

파이프라인 작업을 생성하고 실행하면 공유 라이브러리를 통해 재사용 가능한 코드를 실행할 수 있다.

반응형

댓글