본문 바로가기

Devops/Jenkins

Jenkins CLI - 플러그인 설정

반응형

 

Jenkins CLI 사용 시 쉘 스크립트 파일을 사용해서 플러그인 설치를 해보는 것을 설명하려고 한다.

 

먼저 간단한 명령어로 플러그인을 설치할 수 있는데 이 방법으로만 하게되면 기존 설치된 플러그인도 재설치되는 문제가 발생한다.

# 플러그인 설치
java -jar jenkins-cli.jar -s https://jenkins.hrc0303.store/  -auth username:password install-plugin "aws-credentials" -deploy
# Jenkins 재시작
java -jar jenkins-cli.jar -s https://jenkins.hrc0303.store/  -auth username:password restart

 

 

그래서 쉘 스크립트를 사용하여 기존 설치된 플러그인일 경우 다시 설치 작업을 진행하지 않도록 구성하였다.

#!/bin/bash

CLI_JAR=jenkins-cli.jar

read -p "Jenkins 계정 입력 :" Jenkins_USER
read -sp "Jenkins 패스워드 입력 :" Jenkins_PW
echo
read -p "설치할 플러그인 입력 :" PLUGIN_NAME
# 설치된 플러그인 목록 가져오기
java -jar $CLI_JAR -s $JENKINS_URL -auth $Jenkins_USER:$Jenkins_PW list-plugins > installed_plugins.txt
 
# 플러그인이 이미 설치되어 있는지 확인
if grep -q "^$PLUGIN_NAME " installed_plugins.txt; then
        echo "플러그인 '$PLUGIN_NAME'은 이미 설치되어 있습니다."
    else
        echo "플러그인 '$PLUGIN_NAME'을(를) 설치합니다."
        java -jar $CLI_JAR -s $JENKINS_URL -auth $Jenkins_USER:$Jenkins_PW install-plugin $PLUGIN_NAME -deploy
        java -jar $CLI_JAR -s $JENKINS_URL -auth $Jenkins_USER:$Jenkins_PW restart
fi

# 설치된 플러그인 목록 파일 삭제
rm installed_plugins.txt

 

 

Jenkins 계정 정보 및 플러그인 이름을 입력 받아 변수에 저장하고 기본 url, jar 파일 등을 변수로 설정하여 코드를 재활용할 수 있게 구성하였다.

 

현재 설치된 플러그인 목록을 명령어를 통해 가져온 후 해당 파일에서 설치할 플러그인이 있는지 확인 후 있다면 설치하지 않고 없다면 설치 후 Jenkins 재기동을 진행한다.

 

이후 임시로 생성된 설치된 플러그인 목록 파일을 삭제한다.

 

 

aws-credentials 플러그인을 설치를 해당 쉘 스크립트로 진행해보았다.

(예시를 위해 해당 플러그인을 임의로 삭제하여 SDK 설정은 삭제되지 않아 AWS Credential Plugins만 설치되었다.)

 

 

Jenkins 콘솔에서 설치 확인

 

 

이미 설치된 플러그인을 입력 시 아래 이미지처럼 결과가 나온다.

 

 

반응형