国产成人精品18p,天天干成人网,无码专区狠狠躁天天躁,美女脱精光隐私扒开免费观看

docker+gitlab+jenkins從零搭建自動(dòng)化部署

發(fā)布時(shí)間:2021-08-15 18:37 來(lái)源: 閱讀:0 作者:王小白_Ada 欄目: 服務(wù)器 歡迎投稿:712375056

目錄

          前言:

          通過(guò)幾天的學(xué)習和自己的理解,整理了下Docker+Jenkins的自動(dòng)部署教程,如有不足,還請多多指點(diǎn),謝謝!

          Docker的優(yōu)點(diǎn):

          Docker 讓開(kāi)發(fā)者可以打包他們的應用以及依賴(lài)包到一個(gè)可移植的容器中,然后發(fā)布到任何流行的 Linux機器上,便可以實(shí)現虛擬化。Docker改變了虛擬化的方式,使開(kāi)發(fā)者可以直接將自己的成果放入Docker中進(jìn)行管理。方便快捷已經(jīng)是Docker的最大優(yōu)勢,過(guò)去需要用數天乃至數周的 任務(wù),在Docker容器的處理下,只需要數秒就能完成。
          結構:客戶(hù)端→Docker_Host(宿主機)→倉庫
          三個(gè)概念 容器→鏡像→倉庫

          為什么使用Jenkins:

          傳統的部署項目,當項目完成后,需要我們自己從代碼倉庫中拉取代碼到本地,完成打包,然后上傳到服務(wù)器,然后配置項目的運行環(huán)境并啟動(dòng)。這樣顯然有一點(diǎn)的缺陷,我們在開(kāi)發(fā)中存在的一些bug由于不能即時(shí)的發(fā)現,導致后期修復bug而存在導致連鎖效應的風(fēng)險。而且我們經(jīng)常修改代碼后,需要重新打包,然后上傳到服務(wù)器,然后運行,當項目很多的時(shí)候,這樣的一些重復性機械操作導致我們有些力不從心。
          而我們使用Jenkins后真正的幫我們實(shí)現了自動(dòng)化部署,當我們代碼更新后,push到代碼倉庫中,我們只需在Jenkins的可視化界面點(diǎn)擊構建項目,Jenkins便會(huì )根據我們配置的倉庫地址自動(dòng)拉取代碼,自動(dòng)打包,并運行,完成自動(dòng)化部署。


          一、安裝Docker

          Docker 要求 CentOS 系統的內核版本在 3.10以上 ,查看本頁(yè)面的前提條件來(lái)驗證你的CentOS 版本是否支持 Docker。

          1. 通過(guò) uname -r 命令查看你當前的內核版本

          uname -r
          

          2. 使用 root 權限登錄 Centos。確保 yum 包更新到最新。

          yum -y update
          

          3. 卸載舊版本(如果安裝過(guò)舊版本的話(huà))

          yum remove docker docker-common docker-selinux docker-engine
          

          4. 安裝需要的軟件包, yum-util 提供yum-config-manager功能,另外兩個(gè)是devicemapper驅動(dòng)依賴(lài)的

          yum install -y yum-utils device-mapper-persistent-data lvm2
          

          5. 設置yum源

          yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
          

          6. 可以查看所有倉庫中所有docker版本,并選擇特定版本安裝

          yum list docker-ce --showduplicates | sort -r
          

          7. 安裝docker

          sudo yum install -y docker-ce     #由于repo中默認只開(kāi)啟stable倉庫,故這里安裝的是最新穩定版18.03.1
          

          8. 啟動(dòng)并加入開(kāi)機啟動(dòng)

          systemctl start docker     //啟動(dòng)docker
          systemctl enable docker    //設置為開(kāi)機啟動(dòng)
          

          9. 驗證安裝是否成功(有client和service兩部分表示docker安裝啟動(dòng)都成功了)

          docker version
          

          二、Docker 安裝Jenkins

          1. 搜索倉庫中的jenkins鏡像

          docker search jenkins        
          

          jenkins    表示你要搜索的鏡像名,DESCRIPTION中包含jenkins的也會(huì )顯示出來(lái)

          2. 通過(guò)拉取jenkins鏡像到本地images中

          docker pull jenkins/jenkins
          注意這里拉取的是jenkins/jenkins版本,因為先前的jenkins版本只有2.60,導致安裝jenkins插件失敗拉取的時(shí)候可以指定版本,例如docker pull java:8 表示拉取的java版本為8; 不指定版本則默認為最新版本 latest

          3. 啟動(dòng)jenkins容器

          docker run --name myjenkins -d -p 8081:8080 -p 8085:8085 jenkins/jenkins

          –name myjenkins    指定容器NAME為myjenkins
          -d    表示后臺運行
          -p 8081:8080    表示Docker Host(運行Docker的主機)端口 與Docker容器內運行的端口映射,
                                      8081表示DockerHost的端口,8080即容器內的端口; 外部訪(fǎng)問(wèn)8081即可訪(fǎng)問(wèn)到Docker容器的8080端口
          jenkins/jenkins    表示啟動(dòng)的鏡像為jenkins/jenkins ,查看本地鏡像可以通過(guò)docker images查看

          說(shuō)明:
              1.容器內的端口外部無(wú)法直接訪(fǎng)問(wèn),因為要配置Docker Host與容器的端口映射,映射可以配置多個(gè);
          由于后面需要部署項目,提前把項目的端口號-p 8085:8085配置好,不配置的也可以,后面去修端口映射文件即可。
               2.其實(shí)我們也可以省略第二步pull操作,直接啟動(dòng)一個(gè)容器,Docker會(huì )先去本地images中查看是否有這個(gè)鏡像,如果沒(méi)有的話(huà)會(huì )去DockerHub倉庫去下載。


          三、登陸Jenkins的初始化操作

          1. 訪(fǎng)問(wèn)jenkins界面,例如我虛擬機IP是192.168.199.188 ,輸入192.168.199.188:8081,回車(chē)顯示以下界面

          進(jìn)入安裝Jenkins的容器內

          docker exec -it myjenkins bash        // 進(jìn)入指定容器,myjenkins表示我們啟動(dòng)容器時(shí)給容器指定的名稱(chēng)
          cat /var/jenkins_home/secrets/initialAdminPassword`       //查看密碼,復制密碼粘貼到文本框內
          

          操作圖示:

          2. 安裝插件,這里就安裝jenkins推薦的插件

          點(diǎn)擊安裝推薦插件:

          3. 自動(dòng)安裝中,需要稍等片刻,安裝完成點(diǎn)擊繼續:

          4. 創(chuàng )建管理員用戶(hù),也可以直接使用admin賬戶(hù)繼續:

          5. 實(shí)例配置 直接保存完成:

          6. 開(kāi)始使用Jenkins:

          7. 進(jìn)入Jenkins主頁(yè):

          四、全局工具配置(配置環(huán)境)

          點(diǎn)擊系統管理–全局工具配置

          1. 配置JDK: 取消自動(dòng)安裝(一般容器內都安裝好了JDK環(huán)境), 進(jìn)入docker容器,使用echo $JAVA_HOME 獲取jdk安裝路徑,將路徑復制到JAVA_HOME文本框

          2. 配置Maven: 指定name,自動(dòng)安裝,點(diǎn)擊Save即可

          五、安裝Maven插件 點(diǎn)擊系統管理–插件管理

          六、新建任務(wù),完成自動(dòng)化部署

           1. 回到首頁(yè),點(diǎn)New 任務(wù),構建一個(gè)Maven項目

          2. 點(diǎn)擊確定,回到首頁(yè)我們發(fā)現多了一個(gè)名為SpringBoot_AutoTest1的任務(wù)(上面的任務(wù)是以前的,不用理會(huì ))

          3. 點(diǎn)擊項目名SpringBoot_AutoTest1 --> 點(diǎn)擊配置

          3.1 源碼管理(配置git倉庫地址,Jenkins會(huì )從遠程倉庫拉取代碼):

          3.2 構建配置(Jenkin拉取代碼后會(huì )自動(dòng)執行打包命令):

          3.3 配置shell腳本(Jenkins打包完成后,自動(dòng)執行shell腳本啟動(dòng)項目,實(shí)現自動(dòng)化部署),最后保存即可:


          附shell腳本:

          #!/bin/bash
          # #!/bin/bash是指此腳本使用/bin/bash來(lái)解釋執行。其中,#!是一個(gè)特殊的表示符,其后,跟著(zhù)解釋此腳本的shell路徑。bash只是shell的一種,還有很多其它shell,如:sh,csh,ksh,tcsh,...
          # #!/bin/bash只能放在第一行,如果后面還有#!,那么只能看成是注釋。
          
          #服務(wù)名稱(chēng)
          
          SERVER_NAME=SpringBoot_AutotTest
          
          #源jar路徑,mm打包完成之后,target目錄下的jar包名稱(chēng),也可選擇成為war包,war包 可移動(dòng)到Tomcat的。
          JAR_NAME=jekins-0.0.1-SNAPSHOT
          
          
          #target打包生成jar包的目錄
          
          JAR_PATH=/var/jenkins_home/workspace/SpringBoot_AutotTest/target    # 以具體的打包位置為準,可以先構建一次項目,通過(guò)日志查看打包的目錄
          
          #打包完成之后,把iar包移動(dòng)到運行jar包的目錄
          JAR_WORK_PATH=/var/jenkins_home/workspace/SpringBoot_AutotTest/target
          
          echo "查詢(xún)進(jìn)程id-->$SERVER_NAME"
          PID=`ps -ef | grep "$SERVER_NAME" | awk '{print $2}'`
          echo"得到進(jìn)程ID: $PID"
          echo"結束進(jìn)程"
          for id in $PID
          do
          kill -9 $id
          echo "killed $id" 
          done
          echo"結束進(jìn)程完成"
          
          #復制jar包到執行目錄_
          
          echo" 復制jar包到執行目錄:cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH"
          cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH
          echo"復 制jar包完成"
          cd $JAR_WORK_PATH
          #修改文件權限
          chmod 755 $JAR_NAME.jar
          
          #前臺啟動(dòng)
          #java -jar $JAR_NAME.jar
          
          #后臺啟動(dòng)
          BUILD_ID=dontKillMe nohup java -jar $JAR_NAME.jar &
          

          到此這篇關(guān)于docker+gitlab+jenkins從零搭建自動(dòng)化部署的文章就介紹到這了,更多相關(guān)docker+gitlab+jenkins自動(dòng)化部署內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

          免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。

          免费婬色男女乱婬视频| 成 人 黄 色 网 站 在线播放视频| 午夜a成v人电影| 日韩乱码人妻无码中文视频| 吃奶呻吟打开双腿做受动态图| 亚洲无人区天空码头IV在哪|