반응형
기존 글로 작성한 5가지에 대한 CLI 사용법을 통합 스크립트로 구성하여 활용할 수 있도록 해보았다.
1. show_menu : 5가지 설정 중 Jenkins CLI를 통해 설정할 부분을 번호로 입력하여 opt 변수에 저장하도록 하였다.
show_menu(){
normal=`echo "\033[m"`
menu=`echo "\033[36m"` #Blue
number=`echo "\033[33m"` #yellow
bgred=`echo "\033[41m"`
fgred=`echo "\033[31m"`
printf "\n${menu}*********************************************${normal}\n"
printf "${menu}**${number} 1)${menu} Kubernetes Cloud 설정 ${normal}\n"
printf "${menu}**${number} 2)${menu} Job 설정 ${normal}\n"
printf "${menu}**${number} 3)${menu} Plugins 설정 ${normal}\n"
printf "${menu}**${number} 4)${menu} User 설정 ${normal}\n"
printf "${menu}**${number} 5)${menu} Credential 설정 ${normal}\n"
printf "${menu}*********************************************${normal}\n"
printf "Please enter a menu option and enter or ${fgred}x to exit. ${normal}"
read opt
}
2. show_menu_jobs : Job 생성,변경,삭제를 선택할 수 있도록 하였다.
show_menu_jobs(){
normal=`echo "\033[m"`
menu=`echo "\033[36m"` #Blue
number=`echo "\033[33m"` #yellow
bgred=`echo "\033[41m"`
fgred=`echo "\033[31m"`
printf "\n${menu}*********************************************${normal}\n"
printf "${menu}**${number} 1)${menu} Job 생성 ${normal}\n"
printf "${menu}**${number} 2)${menu} Job 변경 ${normal}\n"
printf "${menu}**${number} 3)${menu} Job 삭제 ${normal}\n"
printf "${menu}*********************************************${normal}\n"
printf "Please enter a menu option and enter or ${fgred}x to exit. ${normal}"
read opt_job
}
3. show_menu_plugins : 플러그인 설치,업데이트,삭제를 선택할 수 있도록 하였다.
show_menu_plugins(){
normal=`echo "\033[m"`
menu=`echo "\033[36m"` #Blue
number=`echo "\033[33m"` #yellow
bgred=`echo "\033[41m"`
fgred=`echo "\033[31m"`
printf "\n${menu}*********************************************${normal}\n"
printf "${menu}**${number} 1)${menu} Plugins 설치 ${normal}\n"
printf "${menu}**${number} 2)${menu} Plugins 업데이트 ${normal}\n"
printf "${menu}**${number} 3)${menu} Plugins 삭제 ${normal}\n"
printf "${menu}*********************************************${normal}\n"
printf "Please enter a menu option and enter or ${fgred}x to exit. ${normal}"
read opt_plugins
}
4.show_menu_users : User 생성, 패스워드 변경, 삭제를 선택할 수 있도록 하였다.
show_menu_users(){
normal=`echo "\033[m"`
menu=`echo "\033[36m"` #Blue
number=`echo "\033[33m"` #yellow
bgred=`echo "\033[41m"`
fgred=`echo "\033[31m"`
printf "\n${menu}*********************************************${normal}\n"
printf "${menu}**${number} 1)${menu} User 생성 ${normal}\n"
printf "${menu}**${number} 2)${menu} User 패스워드 변경 ${normal}\n"
printf "${menu}**${number} 3)${menu} User 삭제 ${normal}\n"
printf "${menu}*********************************************${normal}\n"
printf "Please enter a menu option and enter or ${fgred}x to exit. ${normal}"
read opt_users
}
5. show_menu_credential : Credential 생성에 대해 선택할 수 있도록 하였다.
show_menu_credential(){
normal=`echo "\033[m"`
menu=`echo "\033[36m"` #Blue
number=`echo "\033[33m"` #yellow
bgred=`echo "\033[41m"`
fgred=`echo "\033[31m"`
printf "\n${menu}*********************************************${normal}\n"
printf "${menu}**${number} 1)${menu} Username with password 생성 ${normal}\n"
printf "${menu}**${number} 2)${menu} Google Service Account from private key 생성 ${normal}\n"
printf "${menu}**${number} 3)${menu} Secret text 생성 ${normal}\n"
printf "${menu}**${number} 4)${menu} Secret file 생성 ${normal}\n"
printf "${menu}**${number} 5)${menu} AWS Credential 생성 ${normal}\n"
printf "${menu}**${number} 6)${menu} SSH Username with private key 생성 ${normal}\n"
printf "${menu}*********************************************${normal}\n"
printf "Please enter a menu option and enter or ${fgred}x to exit. ${normal}"
read opt_credential
}
6. while, case문을 이용하여 해당 번호에 맞는 작업 스크립트 실행
Jenkins 계정 및 패스워드를 show_menu 함수가 실행되기 전에 입력받게 해서 한번의 입력으로 여러번 작업이 가능하도록 하였다.
아직 미구성한 기능에 대해서는 추후 작업 후 작성하려고한다.
read -p "Jenkins 계정 입력 : " Jenkins_USER
read -sp "Jenkins 패스워드 입력 : " Jenkins_PW
echo
show_menu
while [ $opt != '' ]
do
if [ $opt = '' ]; then
exit;
else
case $opt in
1) clear;
option_picked "Kubernetes Cloud 설정";
bash ./create_k8s_cloud.sh "$Jenkins_USER" "$Jenkins_PW"
show_menu;
;;
2) clear;
option_picked "Job 설정";
show_menu_jobs
case $opt_job in
1) clear;
bash ./job_create.sh "$Jenkins_USER" "$Jenkins_PW"
show_menu;
;;
2) clear;
show_menu;
;;
3) clear;
show_menu;
;;
*) clear;
show_menu;
;;
esac
;;
3) clear;
option_picked "Plugins 설정";
show_menu_plugins
case $opt_plugins in
1) clear;
bash ./plugin_install.sh "$Jenkins_USER" "$Jenkins_PW"
show_menu;
;;
2) clear;
show_menu;
;;
3) clear;
show_menu;
;;
*) clear;
show_menu;
;;
esac
;;
4) clear;
option_picked "User 설정";
show_menu_users
case $opt_users in
1) clear;
bash ./user_create.sh "$Jenkins_USER" "$Jenkins_PW"
show_menu;
;;
2) clear;
bash ./user_modify.sh "$Jenkins_USER" "$Jenkins_PW"
show_menu;
;;
3) clear;
show_menu;
;;
*) clear;
show_menu;
;;
esac
;;
5) clear;
option_picked "Credential 설정";
show_menu_credential
case $opt_credential in
1) clear;
bash ./create_credential_user.sh "$Jenkins_USER" "$Jenkins_PW"
show_menu;
;;
2) clear;
bash ./create_credential_gcp.sh "$Jenkins_USER" "$Jenkins_PW"
show_menu;
;;
3) clear;
bash ./create_credential_secret_text.sh "$Jenkins_USER" "$Jenkins_PW"
show_menu;
;;
4) clear;
bash ./create_credential_secret_file.sh "$Jenkins_USER" "$Jenkins_PW"
show_menu;
;;
5) clear;
bash ./create_credential_aws.sh "$Jenkins_USER" "$Jenkins_PW"
show_menu;
;;
6) clear;
bash ./create_credential_ssh.sh "$Jenkins_USER" "$Jenkins_PW"
show_menu;
;;
*) clear;
show_menu;
;;
esac
;;
x) exit;
;;
*) clear;
show_menu;
;;
esac
fi
done
반응형
'Devops > Jenkins' 카테고리의 다른 글
Jenkins CLI - Credential 설정 복호화 (0) | 2024.07.13 |
---|---|
Jenkins CLI - Credential 설정 (0) | 2024.07.13 |
Jenkins CLI - Jenkins 유저 설정 (0) | 2024.07.12 |
Jenkins CLI - 플러그인 설정 (0) | 2024.07.12 |
Jenkins CLI - Kubernetes Cloud 등록 (0) | 2024.07.11 |