반응형
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
JENKINS_URL=https://jenkins.hrc0303.store/
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 콘솔에서 설치 확인
이미 설치된 플러그인을 입력 시 아래 이미지처럼 결과가 나온다.
반응형
'Devops > Jenkins' 카테고리의 다른 글
Jenkins CLI - Credential 설정 (0) | 2024.07.13 |
---|---|
Jenkins CLI - Jenkins 유저 설정 (0) | 2024.07.12 |
Jenkins CLI - Kubernetes Cloud 등록 (0) | 2024.07.11 |
Jenkins CLI - CLI 사용을 위한 설정 (0) | 2024.07.11 |
Jenkins Pipeline 구축 (Springboot 기반) (0) | 2024.07.06 |