<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部署碼云上的SpringBoot項目,so easy!

          共 2785字,需瀏覽 6分鐘

           ·

          2022-03-02 20:52


          本文介紹 jenkins 何從 gitee 上 clone 項目,然后使用 maven 打包并后臺啟動。

          1.Jenkins 介紹

          Jenkins 是一個開源軟件項目,是基于 Java 開發(fā)的一種持續(xù)集成工具,用于監(jiān)控持續(xù)重復(fù)的工作,旨在提供一個開放易用的軟件平臺,使軟件的持續(xù)集成變成可能。?(以上介紹來源于百度百科)

          其實通俗來說,Jenkins 就是一個自動化部署項目的工具,幫我省去重復(fù)的運(yùn)維工作。

          2. 環(huán)境準(zhǔn)備

          本文需要如下幾個工具:

          • JDK

          • Git

          • Maven

          以上三種就不在這里介紹安裝了,這里我貼出我的環(huán)境變量配置僅供參考:

          • Jenkins

          我的 Jenkins 是使用如下方式安裝:

          1. sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo

          2. sudo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key

          3. sudo yum install jenkins

          啟動

          1. service jenkins start

          然后訪問 http://${ip}/8080,可以看到 jenkins 那個小老頭,根據(jù)自行配置安裝插件,其中密碼在這里

          1. vi /var/lib/jenkins/secrets/initialAdminPassword

          以上都在網(wǎng)上有很多,我在博客中也寫過,就不在這里廢話太多了。

          3.Jenkins 工具插件配置

          3.1 插件配置

          個人建議,Jenkins 第一次進(jìn)入推薦安裝的插件就默認(rèn)安裝就行,省的還需要后續(xù)自己安裝,當(dāng)然,如果自己安裝的話需要 Maven 和 Git 插件。

          3.2 工具配置

          • JDK

          • Git

          • Maven

          這里就可以用到上面環(huán)境準(zhǔn)備時需要的截圖,這里我也摸索了很久才配置完成。

          4. 配置項目

          4.1 構(gòu)建自由風(fēng)格的項目

          新建項目,選擇構(gòu)建自由風(fēng)格的項目,給項目起個名字,然后點擊 Ok。

          4.2 配置參數(shù)化構(gòu)建過程

          這里我用到了幾個參數(shù),因為可能有時需要提前準(zhǔn)備好參數(shù)在進(jìn)行構(gòu)建,如下圖:

          • jar_path : 本意是準(zhǔn)備項目打包后的 jar 位置,其實這里是 Jenkins 工作空間

          • spring_profile:這個是讀取配置文件前綴,比如 dev,test,prod

          • jar_name:jar 包名稱

          • project_name:項目名稱

          4.3 Git 配置

          用 Git 進(jìn)行將項目 Clone 下來,配置自己的用戶密碼,Repository URL 配置 git 地址(這里提供的地址是私密項目,項目沒什么特別的,就是簡單 SpringBoot 項目,不用嘗試了,用自己項目就可以)

          4.4 配置 Build

          這里選擇執(zhí)行 Shell,內(nèi)容如下:

          1. mvn clean install -Dmaven.test.skip=true

          2. echo $spring_profile $jar_path $jar_name

          3. cd /usr/local/shell/

          4. ./stop.sh $jar_name

          5. echo "Execute shell Finish"

          6. ./startup.sh $spring_profile $jar_path $jar_name $project_name

          如圖:

          在上面執(zhí)行的 Shell 里面還用到了兩個 Shell,分別是 stop.sh,實質(zhì)就是找到 jar 執(zhí)行的 pid,然后 kill,具體內(nèi)容如下:

          1. jar_name=${1}

          2. echo "Stopping" ${jar_name}

          3. pid=`ps -ef | grep ${jar_name} | grep -v grep | awk '{print $2}'`

          4. if [ -n "$pid" ]

          5. then

          6. echo "kill -9 的pid:" $pid

          7. kill -9 $pid

          8. fi

          startup.sh 內(nèi)容如下,具體可以根據(jù)情況修改:

          1. spring_profile=${1}

          2. jar_path=${2}

          3. jar_name=${3}

          4. project_name=${4}

          5. cd ${jar_path}/${project_name}/target/

          6. echo ${jar_path}/${project_name}/target/

          7. echo nohup java -jar ${jar_name} &

          8. BUILD_ID=dontKillMe nohup java -jar ${jar_name} --spring.profiles.active=${spring_profile} &

          5 測試運(yùn)行

          5.1 運(yùn)行

          點擊運(yùn)行后,如圖所示,剛剛預(yù)配置的參數(shù)都可以看到并可以修改,這里我們用默認(rèn)配置好的就可以。

          然后點擊運(yùn)行就可以,當(dāng)時遇到了一個插曲,我的 Maven 是安裝成功的,但是 Jenkins 內(nèi)無法使用,報錯 mvn:command not found,這里我解決的方式是將 mvn 命令也指向 / usr/bin/mvn,如下:

          1. ln -s /usr/local/apache-maven-3.5.4/bin/mvn /usr/bin/mvn

          訪問效果其實就是我的博客,如圖所示:

          6 總結(jié)

          總體過程坑其實還是很多的,畢竟沒有使用過,但是沒有什么特別棘手的問題,總是出現(xiàn)不同的問題,有需要可以與我一起交流學(xué)習(xí)。

          作者:dalaoyang

          來源:juejin.im/post/5be1a485f265da612859974c

          【END】


          PS:如果覺得我的分享不錯,歡迎大家隨手點贊、在看。

          ?關(guān)注公眾號:Java后端編程,回復(fù)下面關(guān)鍵字?


          要Java學(xué)習(xí)完整路線,回復(fù)??路線?

          缺Java入門視頻,回復(fù)?視頻?

          要Java面試經(jīng)驗,回復(fù)??面試?

          缺Java項目,回復(fù):?項目?

          進(jìn)Java粉絲群:?加群?






          加我"微信"?獲取一份 最新Java面試題資料

          請備注:666不然不通過~


          最近好文


          1、多人遠(yuǎn)程編程!推薦一款 IDEA 插件

          2、你只會用 ! = null 判空?嘿嘿!

          3、這次,Swagger-ui遇到對手了!

          4、推薦14 個寫好 Java 代的習(xí)慣

          5、本機(jī)號碼一鍵登錄原理與應(yīng)用



          最近面試BAT,整理一份面試資料Java面試BAT通關(guān)手冊,覆蓋了Java核心技術(shù)、JVM、Java并發(fā)、SSM、微服務(wù)、數(shù)據(jù)庫、數(shù)據(jù)結(jié)構(gòu)等等。
          獲取方式:關(guān)注公眾號并回復(fù)?java?領(lǐng)取,更多內(nèi)容陸續(xù)奉上。
          明天見(??ω??)
          瀏覽 53
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <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>
                  国产女处被破www免费 | 丁香激情网| 国产精品夜夜爽7777777 | 五月丁香六月婷婷免费视频 | 404notfound网红视频在线观看 |