1.Jenkins部署

1.Jenkins部署

解决方案goocz2025-01-06 21:03:3034A+A-

1 安装JDK

上传jdk安装包,并解压到/usr/local目录,然后在/etc/profile文件追加以下内容。

# java env
export JAVA_HOME="/usr/local/java-1.8.0"
export PATH=${PATH}:${JAVA_HOME}/bin

2 创建工作目录

使用以下命令创建工作目录后,将jenkins.war文件上传到该工作目录。

mkdir -p /data/jenkins

3 启动

在/data/jenkins目录新建一个monitor.sh脚本,并复制以下shell脚本。

#!/bin/bash
CUR_PATH="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
LOG_FILE="${CUR_PATH}/jenkins_start.log"

source /etc/profile
export JENKINS_HOME=/data/jenkins

function log_info(){
    echo -e "\e[32m[INFO] [$(date "+%Y-%m-%d %T")] $1 \e[0m" 
    echo -e "\e[32m[INFO] [$(date "+%Y-%m-%d %T")] $1 \e[0m" >>${LOG_FILE}
}

function log_warn(){
    echo -e "\e[33m[WARN] [$(date "+%Y-%m-%d %T")] $1 \e[0m"
    echo -e "\e[33m[WARN] [$(date "+%Y-%m-%d %T")] $1 \e[0m" >>${LOG_FILE}
}

function log_error(){
    echo -e "\e[31m[ERROR] [$(date "+%Y-%m-%d %T")] $1 \e[0m"
    echo -e "\e[31m[ERROR] [$(date "+%Y-%m-%d %T")] $1 \e[0m">>${LOG_FILE}
    exit 1
}

function usage(){
    echo -e "\e[31m[ERROR]: Please input right command. Usage: /bin/bash $(basename "$0") start|stop|restart"
    exit 1
}


function start_jenkins(){
    log_info "${FUNCNAME[0]}  begin."

    jenkins_pid=$(ps -ef|grep java|grep jenkins.war|awk '{print $2}')

    if [[ -n "${jenkins_pid}" ]];then
        log_info "cur jenkins pid exist. no need to start again."
        exit 0
    fi

    log_info "cur jenkins pid does no exit. start it now."

    nohup java -jar ${CUR_PATH}/jenkins.war  --httpPort=8088 >> ${CUR_PATH}/jenkins.log 2>&1 &

    sleep 5

    jenkins_pid=$(ps -ef|grep java|grep jenkins.war|awk '{print $2}')

    if [[ -n "${jenkins_pid}" ]];then
        log_info "start jenkins success!."
    else
        log_error "start jenkins error."
    fi

    log_info "${FUNCNAME[0]}  end."
}

function stop_jenkins(){
   log_info "${FUNCNAME[0]}  begin."

   jenkins_pid=$(ps -ef|grep java|grep jenkins.war|awk '{print $2}')

   if [[ -n "${jenkins_pid}" ]];then
      log_info "cur pid is ${jenkins_pid},stop it begin."
      kill -9 ${jenkins_pid}
   else
      log_info "cur pid is null.no need to stop it."
   fi

   log_info "${FUNCNAME[0]}  end."
}

function restart_jenkins(){
   log_info "${FUNCNAME[0]}  begin."

   stop_jenkins
  
   sleep 5

   start_jenkins

   log_info "${FUNCNAME[0]}  end."
}

function main(){
   log_info "${FUNCNAME[0]}  begin."

   cmd=$1

   [[ -n "$cmd" ]] || usage

   if [[ "${cmd}" == "start" ]];then
       start_jenkins
   elif [[ "${cmd}" == "stop" ]];then
       stop_jenkins
   elif [[ "${cmd}" == "restart" ]];then
       restart_jenkins
   else
       usage
   fi

   log_info "${FUNCNAME[0]}  end."
}

main "$@"

4 登陆

根据启动脚本定义的端口为8088,然后使用本机的IP再加这个端口进行访问,密码信息会在刚登录的页面提示如何查找。登陆之后只需要安装推荐的插件安装即可,其他不需要任何操作。后面就可以根据自己的项目新建流水线了。

点击这里复制本文地址 以上内容由goocz整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!

果子教程网 © All Rights Reserved.  蜀ICP备2024111239号-5