一键安装 Jenkins 脚本

[root@jenkins01 ~]# cat jenkins_install.sh
#!/bin/bash
URL="https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat-stable/jenkins-2.375.1-1.1.noarch.rpm"

GREEN="echo -e \E[32;1m"
END="\E[0m"

HOST=`hostname -I|awk '{print $1}'`
. /etc/os-release

color () {
    RES_COL=60
    MOVE_TO_COL="echo -en \\033[${RES_COL}G"
    SETCOLOR_SUCCESS="echo -en \\033[1;32m"
    SETCOLOR_FAILURE="echo -en \\033[1;31m"
    SETCOLOR_WARNING="echo -en \\033[1;33m"
    SETCOLOR_NORMAL="echo -en \E[0m"
    echo -n "$1" && $MOVE_TO_COL
    echo -n "["
    if [ $2 = "success" -o $2 = "0" ] ;then
        ${SETCOLOR_SUCCESS}
        echo -n $" OK "
    elif [ $2 = "failure" -o $2 = "1" ] ;then
        ${SETCOLOR_FAILURE}
        echo -n $"FAILED"
    else
        ${SETCOLOR_WARNING}
        echo -n $"WARNING"
    fi
    ${SETCOLOR_NORMAL}
    echo -n "]"
    echo
}

install_java(){
    if [ $ID = "centos" -o $ID = "rocky" ];then
        yum -y install java-11-openjdk
    else
        apt update
        apt -y install openjdk-11-jdk
    fi
 if [ $? -eq 0 ];then
        color "安装java完成!" 0
    else
        color "安装java失败!" 1
        exit
    fi
}

install_jenkins() {
    wget -P /usr/local/src/ $URL --no-check-certificate || { color  "下载失败!" 1 ;exit ; }
    if [ $ID = "centos" -o $ID = "rocky" ];then
        yum -y install fontconfig /usr/local/src/${URL##*/}
        cat >> /etc/sysconfig/jenkins<<EOF
JENKINS_HOME="/var/lib/jenkins"
JENKINS_JAVA_CMD=""
JENKINS_USER="root"
JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname="192.168.1.73" "
JENKINS_PORT="8080"
JENKINS_LISTEN_ADDRESS=""
JENKINS_HTTPS_PORT=""
JENKINS_HTTPS_KEYSTORE=""
JENKINS_HTTPS_KEYSTORE_PASSWORD=""
JENKINS_HTTPS_LISTEN_ADDRESS=""
JENKINS_DEBUG_LEVEL="5"
JENKINS_ENABLE_ACCESS_LOG="no"
JENKINS_HANDLER_MAX="100"
JENKINS_HANDLER_IDLE="20"
JENKINS_ARGS=""
EOF
        systemctl enable jenkins
        systemctl start jenkins
    else
        apt -y install fontconfig daemon net-tools || { color  "安装依赖包失败!" 1 ;exit ; }
        dpkg -i /usr/local/src/${URL##*/}
    fi
 if [ $? -eq 0 ];then
        color "安装Jenkins完成!" 0
    else
        color "安装Jenkins失败!" 1
        exit
    fi
}

start_jenkins() {
    systemctl is-active jenkins
    if [ $?  -eq 0 ];then
         echo
        color "Jenkins安装完成!" 0
        echo "----------------------------------------------------------------"
        echo -e "访问链接: \c"
        ${GREEN}"http://$HOST:8080/"${END}
    else
        color "Jenkins安装失败!" 1
        exit
    fi
    while :;do
        [ -f /var/lib/jenkins/secrets/initialAdminPassword ] && { key=`cat /var/lib/jenkins/secrets/initialAdminPassword` ; break; }
        sleep 1
    done
    echo -e "登录秘钥: \c"
    ${GREEN}$key${END}
}

install_java
install_jenkins
start_jenkins
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享