<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          傻瓜式安裝Jenkins

          共 6909字,需瀏覽 14分鐘

           ·

          2023-05-10 00:44

          大家好,我是阿晶,今天給大家?guī)戆惭b部署Jenkins的腳本,需要自取。

          下載Jenkins運(yùn)行包

          https://get.jenkins.io/war-stable/2.346.1/jenkins.war ,這里我下載的是 2.346.1 版本。

          編寫安裝部署腳本

          jenkins.sh

                #!/bin/bash

          ####################################
          #?@description?jenkins運(yùn)行腳本,適用于公網(wǎng)環(huán)境
          #?@params?$??=>?代表上一個(gè)命令執(zhí)行后的退出狀態(tài):?0->成功,1->失敗
          #?????????$1?=>?腳本第一個(gè)參數(shù)-操作類型(init|start|stop|restart)
          #?@example?=>?sh?jenkins.sh?start
          #?@author?lijing
          #?@date?2023/01/19?16:26
          ####################################


          #?在執(zhí)行過程中若遇到使用了未定義的變量或命令返回值為非零,將直接報(bào)錯(cuò)退出
          #?set?-eu

          #?檢查參數(shù)個(gè)數(shù)
          if?[?"${#}"?-lt?1?];?then
          ?echo?-e?"\033[41;37m腳本使用示例:?sh?jenkins.sh?init(初始化環(huán)境)|start(運(yùn)行)|stop(停止)|restart(重啟)\033[0m"
          ?exit
          fi

          #?SOFT_DIR='/home/soft'

          #?獲取腳本第一個(gè)參數(shù)
          APP_OPT=${1}
          #?端口
          APP_PORT=10000
          #?名稱
          APP_NAME=jenkins
          #?jar名?|?war名
          APP_JAR=${APP_NAME}.war
          #?程序根目錄
          APP_JAR_HOME=.
          #?日志名
          APP_LOG_NAME=jenkins
          #?日志根目錄
          APP_LOG_HOME=.
          #?程序運(yùn)行參數(shù)
          JAVA_OPTS="--ajp13Port=-1?--httpPort=${APP_PORT}?--prefix=/jenkins"

          echo?"本次操作服務(wù)名:[${APP_NAME}]"
          echo?"本次操作選擇:[${APP_OPT}]"

          #?初始化環(huán)境
          function?init()?{
          ????#?更換yum源
          ????wget?-O?/etc/yum.repos.d/CentOS-Base.repo?http://mirrors.aliyun.com/repo/Centos-7.repo
          ????install_git
          ????install_jdk
          ????yum?-y?install?wget
          ????install_maven
          ????install_nodejs
          ????#?使配置生效
          ????source?/etc/profile
          }

          function?install_git()?{
          ??echo?"*******************************************************************************"
          ??echo?"????????????↓↓↓↓↓↓?[檢查環(huán)境:git]?↓↓↓↓↓↓?????????"
          ??which?git
          ??#?$?:?指上一次命令執(zhí)行的狀態(tài)?成功:0?失?。?
          ??if?[?"$?"?-eq?1?];?then
          ????echo?"安裝git..."
          ????yum?install?-y?git
          ??fi
          }

          function?install_jdk()?{
          ????echo?"*******************************************************************************"
          ????echo?"????????????↓↓↓↓↓↓?[檢查環(huán)境:java]?↓↓↓↓↓↓?????????"
          ????which?java
          ????if?[?"$?"?-eq?1?];?then
          ?????echo?"安裝jdk..."
          ?????yum?-y?install?java-1.8.0-openjdk*
          ??????#?配置環(huán)境變量?--?注意$前加上\?避免shell中獲取其變量值追加到配置文件中
          cat>>?/etc/profile?<<EOF

          ##############################?↓↓↓↓↓↓?set?java?environment?↓↓↓↓↓↓?#############################
          JAVA_HOME=/usr/lib/jvm/java
          CLASSPATH=.:\$JAVA_HOME/lib/dt.jar:\$JAVA_HOME/lib/tools.jar:\$JAVA_HOME/jre/lib/rt.jar
          PATH=\$PATH:\$JAVA_HOME/bin
          export?JAVA_HOME?CLASSPATH?PATH
          ###############################################################################################

          EOF
          ??????#?使配置生效
          ??????.?/etc/profile
          ????fi
          }

          function?install_maven()?{
          ????echo?"*******************************************************************************"
          ????echo?"????????????↓↓↓↓↓↓?[檢查環(huán)境:maven]?↓↓↓↓↓↓?????????"
          ????which?mvn
          ????if?[?"$?"?-eq?1?];?then
          ?????echo?"安裝maven..."
          ?????mkdir?-p?/home/soft/maven/repository
          ??????cd?/home/soft/maven
          ??????yum?install?-y?ca-certificates
          ??????wget?https://mirrors.bfsu.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
          ??????#?解壓
          ??????tar?-zxvf?apache-maven-3.6.3-bin.tar.gz
          ??????#?修改配置文件
          ??????isExist=$(cat?/home/soft/maven/apache-maven-3.6.3/conf/settings.xml?|?grep?"<localRepository>/home/soft/maven/repository</localRepository>")
          ??????if?[[?"$isExist"?==?""?]]
          ??????then
          ??????????#?不包含
          ??????????#?在第55行插入
          ??????????sed?-i?'55i?<localRepository>/home/soft/maven/repository</localRepository>'?/home/soft/maven/apache-maven-3.6.3/conf/settings.xml
          ??????????#?在第160行插入
          ??????????sed?-i?'160i?\
          ??????????????<!--?國內(nèi)中央倉庫的配置-阿里云中央倉庫?-->?\
          ??????????????<mirror>?\
          ??????????????????<id>nexus-aliyun</id>?\
          ??????????????????<mirrorOf>central</mirrorOf>?\
          ??????????????????<name>Nexus?aliyun</name>?\
          ??????????????????<url>http://maven.aliyun.com/nexus/content/groups/public</url>?\
          ??????????????</mirror>?\
          ??????????'
          ?/home/soft/maven/apache-maven-3.6.3/conf/settings.xml
          ??????fi
          ??????#?配置環(huán)境變量
          cat>>?/etc/profile?<<EOF

          ##############################?↓↓↓↓↓↓?set?maven?environment?↓↓↓↓↓↓?#############################
          MAVEN_HOME=/home/soft/maven/apache-maven-3.6.3
          PATH=\$PATH:\$JAVA_HOME/bin:\$MAVEN_HOME/bin
          export?MAVEN_HOME?PATH
          ################################################################################################

          EOF
          ??????#?使配置生效
          ??????source?/etc/profile
          ????fi
          }

          function?install_nodejs()?{
          ????echo?"*******************************************************************************"
          ????echo?"????????????↓↓↓↓↓↓?[檢查環(huán)境:NodeJS]?↓↓↓↓↓↓?????????"
          ????which?npm
          ????if?[?"$?"?-eq?1?];?then
          ?????echo?"安裝NodeJS..."
          ?????mkdir?-p?/home/soft
          ??????cd?/home/soft
          ?????wget?https://nodejs.org/dist/v16.13.0/node-v16.13.0-linux-x64.tar.xz
          ??????#?解壓
          ??????tar?-xvf?node-v16.13.0-linux-x64.tar.xz
          ??????#?配置環(huán)境變量
          cat>>?/etc/profile?<<EOF

          ##############################?↓↓↓↓↓↓?set?nodejs?environment?↓↓↓↓↓↓?#############################
          NODEJS_HOME=/home/soft/node-v16.13.0-linux-x64
          PATH=\$PATH:\$NODEJS_HOME/bin
          export?NODEJS_HOME?PATH
          #################################################################################################

          EOF
          ??????#?使配置生效
          ??????source?/etc/profile
          ??????#?將npm軟連接到`/usr/bin`目錄下?=>?解決`sudo:?npm:找不到命令`問題
          ??????sudo?ln?-s?/home/soft/node-v16.13.0-linux-x64/bin/node?/usr/bin/node
          ??????sudo?ln?-s?/home/soft/node-v16.13.0-linux-x64/bin/npm?/usr/bin/npm
          ??????sudo?ln?-s?/home/soft/node-v16.13.0-linux-x64/bin/cnpm?/usr/bin/cnpm
          ??????sudo?ln?-s?/home/soft/node-v16.13.0-linux-x64/bin/npx?/usr/lib/npx
          ??????#?設(shè)置淘寶`NPM`鏡像
          ??????npm?install?-g?cnpm?--registry=https://registry.npm.taobao.org
          ????fi
          }

          #?停止
          function?stop(){
          ??echo?"<-------------------------------------->"
          ??echo?"[${APP_NAME}]?...?stop?..."
          ??#?查看該jar進(jìn)程
          ??pid=`ps?-ef?|?grep?${APP_JAR}?|?grep?-v?'grep'?|?awk?'{print?$2}'`
          ??echo?"[${APP_NAME}]?pid="${pid}
          ??#?存在則kill,不存在打印一下吧
          ??if?[?"${pid}"?];?then
          ????kill?-9?${pid}
          ??????#?檢查kill是否成功
          ??????if?[?"$?"?-eq?0?];?then
          ??????????echo?"[${APP_NAME}]?stop?success"
          ??????else
          ??????????echo?"[${APP_NAME}]?stop?fail"
          ??????fi
          ??else
          ????echo?"[${APP_NAME}]?進(jìn)程不存在"
          ??fi
          }


          #?運(yùn)行
          function?start(){
          ??echo?"<-------------------------------------->"
          ??echo?"[${APP_NAME}]?...?start?..."
          ??cd?${APP_JAR_HOME}
          ??echo?"當(dāng)前路徑:`pwd`"
          ??#?賦予可讀可寫可執(zhí)行權(quán)限
          ??chmod?777?${APP_JAR}
          ??echo?"啟動命令:?nohup?java?-jar?${APP_JAR}?${JAVA_OPTS}?>>?${APP_LOG_HOME}/${APP_NAME}.log?2>&1?&"
          ??nohup?java?-jar?${APP_JAR}?${JAVA_OPTS}?>>?${APP_LOG_HOME}/${APP_NAME}.log?2>&1?&
          ??if?[?"$?"?-eq?0?];?then
          ????echo?"[${APP_NAME}]?start?success"
          ??else
          ????echo?"[${APP_NAME}]?start?fail"
          ??fi
          }


          #?重啟
          function?restart(){
          ??echo?"<-------------------------------------->"
          ??echo?"[${APP_NAME}]?...?restart?..."
          ?stop
          ?start
          }


          #?多分支條件判斷執(zhí)行參數(shù)
          case?"${APP_OPT}"?in
          ?"init")
          ??init
          ??;;
          ?"stop")
          ??stop
          ??;;
          ?"start")
          ??start
          ??;;
          ?"restart")
          ??restart
          ??;;
          ?*)
          ?echo?-e?"\033[41;37m提示:不支持參數(shù)命令?->?${APP_OPT}?\033[0m"
          ?;;
          esac

          運(yùn)行腳本

          此腳本適用于公網(wǎng)環(huán)境,將 Jenkins 運(yùn)行包和腳本文件放到同一級目錄下,切換到此目錄

                #?初始化環(huán)境,如果你的服務(wù)器上沒有安裝jdk,git,maven,nodejs的話,會自動拉取安裝
          ./jenkins.sh?init
          #?啟動jenkins
          ./jenkins.sh?start
          #?停止jenkins
          ./jenkins.sh?stop
          #?重啟jenkins
          ./jenkins.sh?restart


          瀏覽 56
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产熟女一区二区视频网站 | 操婷婷在线视频 | 日本三级片电影中文字幕在线观看 | 国产一级二级三级精品毛片 | 亚洲精品一二三四区 |