1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        實(shí)用的Jenkins自動(dòng)化部署詳細(xì)教程

        共 3899字,需瀏覽 8分鐘

         ·

        2022-01-12 18:57


        1.背景

          在實(shí)際開發(fā)中,我們經(jīng)常要一邊開發(fā)一邊測(cè)試,當(dāng)然這里說的測(cè)試并不是程序員對(duì)自己代碼的單元測(cè)試,而是同組程序員將代碼提交后,由測(cè)試人員測(cè)試;

          或者前后端分離后,經(jīng)常會(huì)修改接口,然后重新部署;

          這些情況都會(huì)涉及到頻繁的打包部署;

          手動(dòng)打包常規(guī)步驟:

          1.提交代碼

          2.問一下同組小伙伴有沒有要提交的代碼

          3.拉取代碼并打包(war包,或者jar包)

          4.上傳到Linux服務(wù)器

          5.查看當(dāng)前程序是否在運(yùn)行

          6.關(guān)閉當(dāng)前程序

          7.啟動(dòng)新的jar包

          8.觀察日志看是否啟動(dòng)成功

          9.如果有同事說,自己還有代碼沒有提交......再次重復(fù)1到8的步驟!?。。。。ㄒ簧衔鐩]了)

          那么,有一種工具能夠?qū)崿F(xiàn),將代碼提交到git后就自動(dòng)打包部署勒,答案是肯定的:Jenkins

          當(dāng)然除了Jenkins以外,也還有其他的工具可以實(shí)現(xiàn)自動(dòng)化部署,如Hudson等

          只是Jenkins相對(duì)來說,使用得更廣泛。

        2.Jenkins服務(wù)器搭建及基本配置

        2.1.簡(jiǎn)介

          Jenkins是一個(gè)開源軟件項(xiàng)目,是基于Java開發(fā)的一種持續(xù)集成工具,用于監(jiān)控持續(xù)重復(fù)的工作,旨在提供一個(gè)開放易用的軟件平臺(tái),使軟件的持續(xù)集成變成可能。

        2.2.Jenkins自動(dòng)化部署實(shí)現(xiàn)原理

          

        2.3.Jenkins部署環(huán)境

          基本環(huán)境:

          1.jdk環(huán)境,Jenkins是java語(yǔ)言開發(fā)的,因需要jdk環(huán)境。

          2.git/svn客戶端,因一般代碼是放在git/svn服務(wù)器上的,我們需要拉取代碼。

          3.maven客戶端,因一般java程序是由maven工程,需要maven打包,當(dāng)然也有其他打包方式,如:gradle

          以上是自動(dòng)化部署java程序jenkins需要的基本環(huán)境,請(qǐng)自己提前安裝好,下面著重講解Jenkins的安裝部署配置。

        2.4.Jenkins安裝

          1.下載安裝包jenkins.war;

          2.在安裝包根路徑下,運(yùn)行命令java-jarjenkins.war--httpPort=8080,(linux環(huán)境、Windows環(huán)境都一樣);

          3.打開瀏覽器進(jìn)入鏈接http://localhost:8080.

          4.填寫初始密碼,激活系統(tǒng)

          

          5.進(jìn)入插件安裝選擇

          這里建議選擇,推薦安裝的插件,保證基本常用的功能可以使用。

          

          選擇后,進(jìn)入插件安裝頁(yè)面

          

          6.設(shè)置初始用戶和密碼

          

          7.進(jìn)入系統(tǒng),安裝完成

          注意,如果還是進(jìn)入不了系統(tǒng),需要稍等一下,或者刷新頁(yè)面,如果還是進(jìn)入不了,需要重新啟動(dòng)jenkinds服務(wù)器。

        2.5.Jenkins基本配置

        2.5.1.系統(tǒng)初始化配置

          

          1.ConfigureSystem(系統(tǒng)設(shè)置)

          在系統(tǒng)設(shè)置這里,我們只需要設(shè)置最后面的一項(xiàng),配置遠(yuǎn)程服務(wù)器地址,

          即我們代碼最終運(yùn)行的服務(wù)器地址信息,就像我們之前手動(dòng)部署時(shí)使用xshell登錄Linux服務(wù)器一樣,

          當(dāng)然這里是可以配置多臺(tái)遠(yuǎn)程Linux服務(wù)器的,配置完成后點(diǎn)擊保存即可,為后面我們配置自動(dòng)化部署做準(zhǔn)備,配置如下圖

          

          2.ConfigureGlobalSecurity(全局安全配置)

          a.配置用戶相關(guān)的權(quán)限

          

          b.配置鉤子程序(當(dāng)用代碼更新時(shí)通知)訪問權(quán)限,避免報(bào)403錯(cuò)誤

          默認(rèn)是勾選上了的,這里去掉勾選

          

          3.GlobalToolConfiguration(全局工具配置)

          a.配置maven的全局settings路徑

          

          b.配置jdk

          

          c.配置git

          

          d.配置maven的安裝路徑

          

          4.配置必要插件

          主要是檢查如下這兩個(gè)插件是否已安裝

          插件1:PublishoverSSH
          插件2:DeploytocontainerPlugin

          

          到這里,我們配置一個(gè)自動(dòng)化部署的的java程序(springBoot+maven+gitHub),基本必要配置就差不多了,后面配置過程中如果需要在配置。

        3.Jenkins自動(dòng)化部署(springBoot+maven+gitHub)項(xiàng)目

         3.1.Jenkins服務(wù)器上創(chuàng)建項(xiàng)目和配置

          大體步驟:General(基礎(chǔ)配置)--》源碼管理--》構(gòu)建觸發(fā)器--》構(gòu)建環(huán)境--》構(gòu)建--》構(gòu)建后操作

          1.創(chuàng)建一個(gè)工程

          

          2.General(基礎(chǔ)配置)

          僅需填寫標(biāo)準(zhǔn)部分,其他可不填寫

          

          3.源碼管理

          

          上圖中點(diǎn)擊“添加”按鈕添加一組賬號(hào)和密碼

          

          4.構(gòu)建觸發(fā)器

          

          如上圖:當(dāng)前項(xiàng)目的回調(diào)地址為:

          http://localhost:8080/job/jenkinsSpringBootDemo/build?token=token_demo2

          只要執(zhí)行這個(gè)地址(在瀏覽器上訪問改地址),該項(xiàng)目就會(huì)發(fā)起一次構(gòu)建項(xiàng)目,即拉取代碼打包部署操作,

          在實(shí)際中,是由git服務(wù)器回調(diào)改地址,在后面講git服務(wù)器配置時(shí)詳細(xì)講解,

          值得注意的是,如果你是學(xué)習(xí)測(cè)試,使用的是GitHub服務(wù),要確保你的回調(diào)地址已經(jīng)試外網(wǎng)映射過的,即往外網(wǎng)可以訪問

          5.構(gòu)建環(huán)境(無需配置)

          6.構(gòu)建

          

          7.構(gòu)建后操作

          構(gòu)建后操作的意思是,jar打包好后,要將jar發(fā)送到哪里去,發(fā)送后去和啟動(dòng)等

          這里需要提前在需要部署的服務(wù)器上配置好路徑,寫好啟動(dòng)和停止項(xiàng)目的腳本,并設(shè)置為可以執(zhí)行的腳本,

          其實(shí)就是我們平時(shí)在Linux上手動(dòng)部署項(xiàng)目操作的腳本

          

          案例中給出的stop.sh腳本如下:

        1#!/bin/bash
        2echo"StopProcedure:demo2-0.0.1-SNAPSHOT.jar"
        3pid=`ps-ef|grepjava|grepdemo2-0.0.1-SNAPSHOT.jar|awk'{print$2}'`
        4echo'oldProcedurepid:'$pid
        5if[-n"$pid"]
        6then
        7kill-9$pid
        8fi

          案例中給出的start.sh腳本如下:

        1#!/bin/bash
        2exportJAVA_HOME=/usr/java/jdk1.8.0_131
        3echo${JAVA_HOME}
        4echo'Starttheprogram:demo2-0.0.1-SNAPSHOT.jar'
        5chmod777/home/ldp/app/demo2-0.0.1-SNAPSHOT.jar
        6echo'-------Starting-------'
        7cd/home/ldp/app/
        8nohup${JAVA_HOME}/bin/java-jardemo2-0.0.1-SNAPSHOT.jar&
        9echo'startsuccess'

          到此,Jenkinds服務(wù)器配置完成,接下來我還有要配置Linux服務(wù)器和Git服務(wù)器。

        3.2.Linux服務(wù)器配置

          在Liux服務(wù)上,上傳上文中的兩個(gè)腳本,用于啟動(dòng)和停止

          

        3.3.GitHub服務(wù)器配置

          在GitHub服務(wù)器上的指定項(xiàng)目里面配置上文中提到的回調(diào)地址

          特別注意:為了保證回調(diào)地址網(wǎng)可以使用,

          我已經(jīng)將地址:http://localhost:8080/job/jenkinsSpringBootDemo/build?token=token_demo2,

          通過花生殼進(jìn)行外網(wǎng)映射為:http://zhishidi.imwork.net/job/jenkinsSpringBootDemo/build?token=token_demo2

          所以,下面配置的是外網(wǎng)映射地址。

          

          到這里所有配置搞定,只需修改代碼,提交到git,然后訪問程序看是否生效。

        4.測(cè)試

          1.測(cè)試代碼

          

          2.提交代碼到git,觸發(fā)構(gòu)建

          3.在GitHub服務(wù)器上去看,是否已經(jīng)觸發(fā)

          

          4.在Jenkins的控制臺(tái)查看是否,正在構(gòu)建

          從下圖中可以看出,正在構(gòu)建

          

          5.查看當(dāng)次構(gòu)建的控制臺(tái)日志

          

          說明已經(jīng)啟動(dòng)成功

          6.查看Linux服務(wù)器,是否上傳代碼

          

          7.在Linux上使用命令jps,查看是否啟動(dòng)

          

          8.瀏覽器上訪問,看是否能用

          

          說明,已經(jīng)正常啟動(dòng)可以使用。

          9.再次確認(rèn)是否能自動(dòng)化部署

          修改代碼,重新提交代碼,循環(huán)1到8步查看。

          如果測(cè)試結(jié)果是你預(yù)期的,那么自動(dòng)化部署成功。

        5.總結(jié)&資料下載

        5.1.總結(jié)

          自動(dòng)化部署Jenkins,作為一款工具,有著非常強(qiáng)大的功能,

          上面我們只是講了生產(chǎn)上做Java自動(dòng)化部署的一個(gè)主要流程,

          其他的功能,大家可以參看官方文檔:https://jenkins.io/zh/doc/

          但是,本著學(xué)習(xí)是為了解決生產(chǎn)的原則,

          個(gè)人建議,用到Jenkins的什么功能就學(xué)什么就可以了,

          沒必要把Jenkins的所有功能都學(xué)完在使用,

          就如同我們使用word文檔一樣,并沒有系統(tǒng)的他word文檔學(xué)完后,在開始使用,而是用到什么功能就學(xué)習(xí)什么功能!

        5.2.相關(guān)資料

          1.案例中的源碼地址:https://github.com/bangbangw/demo01.git

          2.官方文檔:https://jenkins.io/zh/doc/



        --------?THE END?--------

        ??

        瀏覽 47
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

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

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            污污视频网站在线播放 | 国产精品久久久久久久久久受补 | 后入极品白嫩 | 插插插视频 | 国产一级电影免费观看 | 午夜久久精品 | 黑人大鸡吧视频 | 楼梯大尺度做爰视频 | 激情五月深爱五月 | 啪啪啪性爱网站 |