日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

Jenkins——持续集成及Jenkins介绍和安装配置(插件,用户权限,凭据,Maven安装打包,配置tomcat用户权限)

發(fā)布時(shí)間:2024/1/8 72 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Jenkins——持续集成及Jenkins介绍和安装配置(插件,用户权限,凭据,Maven安装打包,配置tomcat用户权限) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

持續(xù)集成及Jenkins介紹和安裝配置

  • 持續(xù)集成及Jenkins介紹
    • 軟件開發(fā)生命周期
    • 持續(xù)集成
      • 持續(xù)集成的組成要素
      • 持續(xù)集成的好處
    • Jenkins介紹
  • Jenkins安裝和持續(xù)集成環(huán)境配置
    • Gitlab代碼托管服務(wù)器安裝
    • Gitlab添加組、創(chuàng)建用戶、創(chuàng)建項(xiàng)目
    • 源碼上傳到Gitlab倉庫
    • Jenkins安裝
    • Jenkins插件管理
    • Jenkins用戶權(quán)限管理
    • Jenkins憑證管理
      • 配置憑據(jù) 將gitlab上面的代碼拉取到j(luò)enkins
        • 創(chuàng)建用戶密碼類型憑證
        • 創(chuàng)建SSH密鑰類型憑據(jù)
    • Maven安裝及配置
      • 全局工具配置關(guān)聯(lián)JDK和Maven
      • 添加Jenkins全局變量
      • 測(cè)試Maven是否配置成功
    • Tomcat安裝和配置
      • 配置Tomcat用戶角色權(quán)限

持續(xù)集成及Jenkins介紹

軟件開發(fā)生命周期

軟件開發(fā)生命周期又叫做SDLC(Software Development Life Cycle),它是集合了計(jì)劃、開發(fā)、測(cè)試和部署過程的集合


Requirement Analysis(需求分析)

  • 這是生命周期的第一階段,根據(jù)項(xiàng)目需求,團(tuán)隊(duì)執(zhí)行一個(gè)可行性計(jì)劃的分析。
  • 項(xiàng)目需求可能是公司內(nèi)部或者客戶提出的。這階段主要是對(duì)信息的收集,也有可能是對(duì)現(xiàn)有項(xiàng)目的改善和重新做一個(gè)新的項(xiàng)目。
  • 還要分析項(xiàng)目的預(yù)算多長(zhǎng),可以從哪方面受益及布局,這也是項(xiàng)目創(chuàng)建的目標(biāo)。

Design(設(shè)計(jì))

  • 第二階段就是設(shè)計(jì)階段,系統(tǒng)架構(gòu)和滿意狀態(tài)(就是要做成什么樣子,有什么功能),和創(chuàng)建一個(gè)項(xiàng)目計(jì)劃。計(jì)劃可以使用圖表,布局設(shè)計(jì)或者文者的方式呈現(xiàn)。

Implementation(實(shí)現(xiàn)/實(shí)施)

  • 第三階段就是實(shí)現(xiàn)階段,項(xiàng)目經(jīng)理創(chuàng)建和分配工作給開者,開發(fā)者根據(jù)任務(wù)和在設(shè)計(jì)階段定義的目標(biāo)進(jìn)行開發(fā)代碼。依據(jù)項(xiàng)目的大小和復(fù)雜程度,可以需要數(shù)月或更長(zhǎng)時(shí)間才能完成。

Testing(測(cè)試)

  • 測(cè)試人員進(jìn)行代碼測(cè)試 ,包括功能測(cè)試、代碼測(cè)試、壓力測(cè)試等。

Evolution(進(jìn)化)

  • 最后進(jìn)階段就是對(duì)產(chǎn)品不斷的進(jìn)化改進(jìn)和維護(hù)階段,根據(jù)用戶的使用情況,可能需要對(duì)某功能進(jìn)行修
    改,bug修復(fù),功能增加等。

持續(xù)集成

持續(xù)集成( Continuous integration , 簡(jiǎn)稱 CI )指的是,頻繁地(一天多次)將代碼集成到主干。

持續(xù)集成的目的,就是讓產(chǎn)品可以快速迭代,同時(shí)還能保持高質(zhì)量。它的核心措施是,代碼集成到主干之前,必須通過自動(dòng)化測(cè)試。只要有一個(gè)測(cè)試用例失敗,就不能集成。

  • 提交
    流程的第一步,是開發(fā)者向代碼倉庫提交代碼。所有后面的步驟都始于本地代碼的一次提交(commit)

  • 測(cè)試(第一輪)
    代碼倉庫對(duì)commit操作配置了鉤子(hook),只要提交代碼或者合并進(jìn)主干,就會(huì)跑自動(dòng)化測(cè)試

  • 構(gòu)建
    通過第一輪測(cè)試,代碼就可以合并進(jìn)主干,就算可以交付了
    交付后,就先進(jìn)行構(gòu)建(build),再進(jìn)入第二輪測(cè)試。所謂構(gòu)建,指的是將源碼轉(zhuǎn)換為可以運(yùn)行的實(shí)
    際代碼,比如安裝依賴,配置各種資源(樣式表、JS腳本、圖片)等等

  • 測(cè)試(第二輪)
    構(gòu)建完成,就要進(jìn)行第二輪測(cè)試。如果第一輪已經(jīng)涵蓋了所有測(cè)試內(nèi)容,第二輪可以省略,當(dāng)然,這時(shí)構(gòu)建步驟也要移到第一輪測(cè)試前面

  • 部署
    過了第二輪測(cè)試,當(dāng)前代碼就是一個(gè)可以直接部署的版本(artifact)。將這個(gè)版本的所有文件打包(tar filename.tar * )存檔,發(fā)到生產(chǎn)服務(wù)器

  • 回滾
    一旦當(dāng)前版本發(fā)生問題,就要回滾到上一個(gè)版本的構(gòu)建結(jié)果。最簡(jiǎn)單的做法就是修改一下符號(hào)鏈接,指向上一個(gè)版本的目錄

  • 持續(xù)集成的組成要素

    • 一個(gè)自動(dòng)構(gòu)建過程, 從檢出代碼、 編譯構(gòu)建、 運(yùn)行測(cè)試、 結(jié)果記錄、 測(cè)試統(tǒng)計(jì)等都是自動(dòng)完成的, 無需人工干預(yù)。
    • 一個(gè)代碼存儲(chǔ)庫,即需要版本控制軟件來保障代碼的可維護(hù)性,同時(shí)作為構(gòu)建過程的素材庫,一般使用SVN或Git。
    • 一個(gè)持續(xù)集成服務(wù)器, Jenkins 就是一個(gè)配置簡(jiǎn)單和使用方便的持續(xù)集成服務(wù)器

    持續(xù)集成的好處

  • 降低風(fēng)險(xiǎn),由于持續(xù)集成不斷去構(gòu)建,編譯和測(cè)試,可以很早期發(fā)現(xiàn)問題,所以修復(fù)的代價(jià)就少
  • 對(duì)系統(tǒng)健康持續(xù)檢查,減少發(fā)布風(fēng)險(xiǎn)帶來的問題
  • 減少重復(fù)性工作
  • 持續(xù)部署,提供可部署單元包
  • 持續(xù)交付可供使用的版本
  • 增強(qiáng)團(tuán)隊(duì)信心
  • Jenkins介紹

    Jenkins 是一款流行的開源持續(xù)集成(Continuous Integration)工具,廣泛用于項(xiàng)目開發(fā),具有自動(dòng)化構(gòu)建、測(cè)試和部署等功能。

    Jenkins開源幫助我們自動(dòng)構(gòu)建各類項(xiàng)目。Jenkins強(qiáng)大的插件式,使得Jenkins可以集成很多軟件,可以幫助我們持續(xù)集成我們的工程項(xiàng)目。官網(wǎng)

    Jenkins的特征

    • 開源的Java語言開發(fā)持續(xù)集成工具,支持持續(xù)集成,持續(xù)部署
    • 易于安裝部署配置:可通過yum安裝,或下載war包以及通過docker容器等快速實(shí)現(xiàn)安裝部署,可方便web界面配置管理
    • 消息通知及測(cè)試報(bào)告:集成RSS/E-mail通過RSS發(fā)布構(gòu)建結(jié)果或當(dāng)構(gòu)建完成時(shí)通過e-mail通知,生成JUnit/TestNG測(cè)試報(bào)告
    • 分布式構(gòu)建:支持Jenkins能夠讓多臺(tái)計(jì)算機(jī)一起構(gòu)建/測(cè)試
    • 文件識(shí)別:Jenkins能夠跟蹤哪次構(gòu)建生成哪些jar,哪次構(gòu)建使用哪個(gè)版本的jar等
    • 豐富的插件支持:支持?jǐn)U展插件,你可以開發(fā)適合自己團(tuán)隊(duì)使用的工具,如git,svn,maven,docker等

    Jenkins安裝和持續(xù)集成環(huán)境配置

  • 首先,開發(fā)人員每天進(jìn)行代碼提交,提交到Git倉庫
  • 然后,Jenkins作為持續(xù)集成工具,使用Git工具到Git倉庫拉取代碼到集成服務(wù)器,再配合JDK,Maven等軟件完成代碼編譯,代碼測(cè)試與審查,測(cè)試,打包等工作,在這個(gè)過程中每一步出錯(cuò),都重新再執(zhí)行一次整個(gè)流程
  • 最后,Jenkins把生成的jar或war包分發(fā)到測(cè)試服務(wù)器或者生產(chǎn)服務(wù)器,測(cè)試人員或用戶就可以訪問應(yīng)用。
  • 角色ip安裝軟件
    代碼托管服務(wù)器192.168.188.97Gitlab-12.9.5
    持續(xù)集成服務(wù)器192.168.188.98Jenkins 2.290-1.1,JDK1.8,Maven3.8.1 Git,SonarQube
    應(yīng)用測(cè)試服務(wù)器192.168.188.99JDK1.8,Tomcat8.5

    Gitlab代碼托管服務(wù)器安裝

    下載 Centos7 gitlab 12.9.5社區(qū)版

    安裝相關(guān)依賴 yum -y install policycoreutils openssh-server openssh-clients postfix policycoreutils-python設(shè)置postfix開機(jī)自啟,并啟動(dòng),postfix支持gitlab發(fā)信功能 systemctl enable postfix && systemctl start postfix關(guān)閉防火墻 關(guān)閉selinux安全中心將下載的gitlab上傳至服務(wù)器并安裝 rpm -ivh gitlab-ce-12.9.5-ce.0.el7.x86_64.rpm

    安裝成功

    修改gitlab配置 vim /etc/gitlab/gitlab.rb修改gitlab訪問地址和端口,默認(rèn)為80,我們改為82 external_url 'http://192.168.188.97:82' nginx['listen_port'] = 82修改時(shí)區(qū) gitlab_rails['time_zone'] = 'Asia/Shanghai'重載配置及啟動(dòng)gitlab gitlab-ctl reconfigure # 這個(gè)命令會(huì)執(zhí)行幾分鐘 gitlab-ctl restart瀏覽器登錄gitlab倉庫

    第一次需要修改root賬戶密碼


    登陸成功

    Gitlab添加組、創(chuàng)建用戶、創(chuàng)建項(xiàng)目

    創(chuàng)建組

    使用管理員 root 創(chuàng)建組,一個(gè)組里面可以有多個(gè)項(xiàng)目分支,可以將開發(fā)添加到組里面進(jìn)行設(shè)置權(quán)限,不同的組就是公司不同的開發(fā)項(xiàng)目或者服務(wù)模塊,不同的組添加不同的開發(fā)即可實(shí)現(xiàn)對(duì)開發(fā)設(shè)置權(quán)限的管理


    創(chuàng)建一個(gè)項(xiàng)目

    創(chuàng)建用戶
    點(diǎn)擊上面的小扳手

    點(diǎn)擊new user

    選擇普通用戶類型

    創(chuàng)建成功之后,再次編輯用戶,可給用戶設(shè)置密碼

    將新建用戶分配到之前創(chuàng)建的組里面
    用戶可用分配5種角色

    Gitlab用戶在組里面有5種不同權(quán)限:

    • Guest:可以創(chuàng)建issue、發(fā)表評(píng)論,不能讀寫版本庫
    • Reporter:可以克隆代碼,不能提交,QA、PM可以賦予這個(gè)權(quán)限
    • Developer:可以克隆代碼、開發(fā)、提交、push,普通開發(fā)可以賦予這個(gè)權(quán)限
    • Maintainer:可以創(chuàng)建項(xiàng)目、添加tag、保護(hù)分支、添加項(xiàng)目成員、編輯項(xiàng)目,核心開發(fā)可以賦予這個(gè)權(quán)限
    • Owner:可以設(shè)置項(xiàng)目訪問權(quán)限 - Visibility Level、刪除項(xiàng)目、遷移項(xiàng)目、管理組成員,開發(fā)組組長(zhǎng)可以賦予這個(gè)權(quán)限

    我們?yōu)樾掠脩舴峙湟粋€(gè)owner權(quán)限 將其拉入組內(nèi)

    使用新用戶登錄gitlab

    源碼上傳到Gitlab倉庫

    寫一個(gè)簡(jiǎn)單的微服務(wù)

    開啟版本控制


    選擇Git

    提交代碼到本地倉庫
    先Add到緩存區(qū)
    右鍵項(xiàng)目選擇Git

    再Commit到本地倉庫

    添加遠(yuǎn)程倉庫地址




    最后推送到Gitlab項(xiàng)目倉庫中

    進(jìn)入倉庫查看

    Jenkins安裝

    接下來我們?cè)贘enkins服務(wù)器上操作

    Jenkins需要依賴JDK,所以先安裝JDK1.8 yum install -y java-1.8.0-openjdk* 安裝目錄為:/usr/lib/jvm[root@jenkins ~]# cd /usr/lib/jvm [root@jenkins jvm]# ls java java-openjdk jre-1.8.0-openjdk-1.8.0.292.b10-1.el7_9.x86_64 java-1.8.0 jre jre-openjdk java-1.8.0-openjdk jre-1.8.0 java-1.8.0-openjdk-1.8.0.292.b10-1.el7_9.x86_64 jre-1.8.0-openjdk獲取jenkins安裝包

    下載jenkins安裝包
    下載地址

    上傳至服務(wù)器 安裝 rpm -ivh jenkins-2.290-1.1.noarch.rpm 修改Jenkins配置 vim /etc/sysconfig/jenkins 修改jenkins操作的用戶為root JENKINS_USER="root"修改端口 默認(rèn)是8080 我們改成8888 JENKINS_PORT="8888"啟動(dòng)Jenkins service jenkins start

    通過瀏覽器ip+端口

    輸入密碼

    因?yàn)镴enkins插件需要連接默認(rèn)官網(wǎng)下載,速度非常慢,而且經(jīng)過會(huì)失敗,所以我們暫時(shí)先跳過插件安裝

    點(diǎn)右邊選擇插件安裝

    選擇 無

    創(chuàng)建用戶

    Jenkins插件管理

    Jenkins國(guó)外官方插件地址下載速度非常慢,所以可以修改為國(guó)內(nèi)插件地址
    Jenkins->Manage Jenkins->Manage Plugins,點(diǎn)擊Available


    這樣做是為了把Jenkins官方的插件列表下載到本地,接著修改地址文件,替換為國(guó)內(nèi)插件地址

    /var/lib/jenkins/是jenkins的目錄[root@jenkins ~]# cd /var/lib/jenkins/ [root@jenkins jenkins]# ls config.xml jenkins.telemetry.Correlator.xml secret.key hudson.model.UpdateCenter.xml jobs secret.key.not-so-secret identity.key.enc logs secrets jenkins.install.InstallUtil.lastExecVersion nodeMonitors.xml updates jenkins.install.UpgradeWizard.state nodes userContent jenkins.model.JenkinsLocationConfiguration.xml plugins users [root@jenkins jenkins]# cd updates/ [root@jenkins updates]# ls default.json hudson.tasks.Maven.MavenInstallerdefault.json就是插件下載地址 我們修改插件地址sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json && sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json

    最后,Manage Plugins點(diǎn)擊Advanced,把Update Site改為國(guó)內(nèi)插件下載地址

    https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json


    在瀏覽器ip后面/restart 然后重啟jenkins

    下載中文漢化包


    重啟后發(fā)現(xiàn)已經(jīng)漢化

    Jenkins用戶權(quán)限管理

    我們可以利用Role-based Authorization Strategy 插件來管理Jenkins用戶權(quán)限


    選擇




    創(chuàng)建一個(gè)角色用有讀權(quán)限

    創(chuàng)建兩個(gè)角色可以訪問java項(xiàng)目和springboot


    創(chuàng)建兩個(gè)新的用戶

    我們通過新創(chuàng)建用戶登錄jenkins 發(fā)現(xiàn)沒有權(quán)限

    我們通過管理員賬號(hào)給新用戶分配角色
    都分配基本的登陸權(quán)限
    然后xiaotian賬號(hào)只能訪問java.*項(xiàng)目
    zhuzhu只能訪問springboot.*項(xiàng)目


    創(chuàng)建項(xiàng)目進(jìn)行權(quán)限測(cè)試

    創(chuàng)建兩個(gè)項(xiàng)目

    使用不同賬戶登陸驗(yàn)證
    xiaotian只能看到j(luò)ava01

    zhuzhu只能看到springboot01

    Jenkins憑證管理

    憑據(jù)可以用來存儲(chǔ)需要密文保護(hù)的數(shù)據(jù)庫密碼、Gitlab密碼信息、Docker私有倉庫密碼等,以便Jenkins可以和這些第三方的應(yīng)用進(jìn)行交互。

    安裝Credentials Binding插件
    要在Jenkins使用憑證管理功能,需要安裝Credentials Binding插件


    如果遇到下載失敗的 則單獨(dú)搜索這個(gè)插件名去下載 就可以了

    下載完成之后會(huì)在安全里面出現(xiàn)憑據(jù)

    新建一個(gè)憑據(jù)


    可以添加的憑證有5種:

  • Username with password:用戶名和密碼
  • SSH Username with private key: 使用SSH用戶和密鑰
  • Secret file:需要保密的文本文件,使用時(shí)Jenkins會(huì)將文件復(fù)制到一個(gè)臨時(shí)目錄中,再將文件路徑設(shè)置到一個(gè)變量中,等構(gòu)建結(jié)束后,所復(fù)制的Secret file就會(huì)被刪除
  • Secret text:需要保存的一個(gè)加密的文本串,如釘釘機(jī)器人或Github的api token
  • Certificate:通過上傳證書文件的方式
  • 常用的憑證類型有:Username with password用戶密碼和SSH Username with private keySSH
    密鑰

    配置憑據(jù) 將gitlab上面的代碼拉取到j(luò)enkins

    為了讓Jenkins支持從Gitlab拉取源碼,需要安裝Git插件以及在CentOS7上安裝Git工具。

    下載完成之后 ,去服務(wù)器上安裝Git

    yum install -y git git --version[root@jenkins updates]# git --version git version 1.8.3.1

    創(chuàng)建用戶密碼類型憑證

    Jenkins->憑證->系統(tǒng)->全局憑證->添加憑證
    這里不要搞混了,添加的賬號(hào)和密碼是gitlab的

    我們?nèi)?chuàng)建一個(gè)測(cè)試項(xiàng)目test01

    因?yàn)槲覀儜{據(jù)使用的是賬戶密碼 因此git拉去方式選擇http方式
    選擇之前設(shè)置的憑據(jù)

    選擇構(gòu)建項(xiàng)目

    控制臺(tái)可以查看拉取過程

    我們還可以去服務(wù)器上查看拉取的代碼 [root@jenkins updates]# cd /var/lib/jenkins/workspace/ [root@jenkins workspace]# ls test01 test01@tmp [root@jenkins workspace]# cd test01 [root@jenkins test01]# ls Dockerfile mvnw mvnw.cmd pom.xml README.md src發(fā)現(xiàn)代碼已經(jīng)成功拉取

    創(chuàng)建SSH密鑰類型憑據(jù)

    SSH免密登錄示意圖

    在jenkins服務(wù)器上 使用root用戶生成公鑰和私鑰 ssh-keygen[root@jenkins test01]# ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: SHA256:uaNyKPfRpidfpY5X/3uFs35z1uKeRcLyDyS7SBNIztY root@jenkins The key's randomart image is: +---[RSA 2048]----+ | | | | | . | | + + . | | S E + +..| | o . +.*oo.| | .. = =...oo+| | . + o=.*.o .+**| | o +++o.o .+=*B| +----[SHA256]-----+[root@jenkins test01]# cd ~/.ssh [root@jenkins .ssh]# ls authorized_keys id_rsa id_rsa.pubid_rsa:私鑰 id_rsa.pub:公鑰查看公鑰 [root@jenkins .ssh]# cat id_rsa.pub ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChllQOWhOT9D/AOnmFlOw9n/iS5paokmMsmZpW7okORv7SGTa/W0BJ5kiP+zt0JxLKbZc1fp3teOU9wVrggjrc7 QQZDWhKDA4ughlI8OtQE9PflgYA/0SvlB+wxLPYInBNKMmhyGctxJyXO/Mnvvliu7zomwPNpD5HWoxXFW3Q+g5XphhdTcWuhiPxzfaL51xQqsalwgYruD3S335KyU0E0c1IyAdCfYUzRTfplTlxfKq692lfyas9eKihaVT3rkMYYF0z1HVRfiN8qdvJbpPJTDIfTXJ2cW8S+YBGCSEwaWvEzQ5GIgLABpdcCuFJRB5rqrzTgziJEPuv5mKhlE6p root@jenkins

    通過瀏覽器打開gitlab
    使用root賬號(hào)登錄 點(diǎn)擊頭像選擇設(shè)置



    公鑰上傳完畢

    去jenkins上面添加SSH類型的憑證

    需要添加root的私鑰

    [root@jenkins .ssh]# ls authorized_keys id_rsa id_rsa.pub [root@jenkins .ssh]# cat id_rsa -----BEGIN RSA PRIVATE KEY----- MIIEpgIBAAKCAQEAoZZUDloTk/Q/wDp5hZTsPZ/4kuaWqJJjLJmaVu6JDkb+0hk2 v1tASeZIj/s7dCcSym2XNX6d7XjlPcFa4II63O0EGQ1oSgwOLoIZSPDrUBPT35YG AP9Er5QfsMSz2CJwTSjJochnLcSclzvzJ775Yru86JsDzaQ+R1qMVxVt0PoOV6YY XU3FroYj8c32i+dcUKrGpcIGK7g90t9+SslNBNHNSMgHQn2FM0U36ZU5cXyquvdp X8mrPXiooWlU965DGGBdM9R1UX4jfKnbyW6TyUwyH01ydnFvEvmARgkhMGlrxM0O RiICwAaXXArhSUQea6q804M4iRD7r+ZioZROqQIDAQABAoIBAQCcQbHRGxwZlDVd 324KVkPJJ/wJmoCQTNcolvUgIZVZwB/E7er6SvS1QcJjsXAB15MdO7LgYSu5K5KL EIKf3m+rmmu/Ci8Sg+vm35ox5f+3tSTK7tmpdzBllZi7qMu9Mzhj9RBeqVvVb255 9NgjVFL3PlLkoJqh7rTm7VIPGELUtKEYmjFZVkslx5vXQnoyxkR31FLN/q5/cu3v Fp5RBVsTKbXxke4JPd1nru0avSsnCBUKuqobYx/5nScwzsRUVpfVQ2LRdVAQM70D XHxvvxqqHMY/x2a+4mzH0INQGf2vbCHFVoxOCFAStYqLv9nA2/IPS9yfC+bKMWFj 5zHzbBvtAoGBANQ2pPc7aW9iR5wgJ9nNyOk1hyt3cElkP2PYkpxvLzbx3t7xkXS7 ClHMzXYAmTJdjG/mZbYY3w25Lglm9zMXq7hn94XHBQ7SskIjMGBPsACjVK6HGIrI 2bTrzRCEkbqNueS/JhU9Lgry7IJDuVs8OjRrND5TE/rmbsLoeGTeb9QXAoGBAMLt jHuEVbCsDpFTBNwWE3ckGnyQjoNRSMCRzTbAl2heGo686SuJ5O7P8MOWe1Cr+WQX DCo23N4aw7J35esi1K5j6/Ul3mzNhqrhlfQDAbiLbYydz4+rY/ePSw8gKG0xomYA cbCb/58RCOryO6HAJzE7gf6qaQ2QwzGF5TQ7Uus/AoGBAImfCmp+8AhY3wHD5LQd /S4oFYm9wmcGCQnyWFn0zNTAFH3WgTMHXVDhFVlyV+dOvZWP/+QQyw52SgG08ZkD v8wuOFpcT85mG05CzcuXwhcX1QH+AI94Y58t0GXm4y7tXGGZCNR7QZG+KlzsGJev PjviThYhAHMU3z2tTu5zRmhvAoGBAIAp1B46SmUZG5LtdNqIIVBKiqewHCO3RBBp TPZc9rAGf4uuJdkcl0t1qSXQQVAvYpAuny76V4opKtajAqbxhckLpc7PkUkUcSDV pdSETZNbCTJVaG1cESRqML3HNQ1mfxJ15Epsp0uc1bI0hoS5ZIt4RuZ8gQoMTmq3 UJZhEwndAoGBAMyxN5CLB6l95pbqBnSK+Q18CWieP3dTml9KOiBkOm3SuWTLR1j4 BkNuMvcwbTljDjB62nANZDxT6YcS7/sAe6k2PAbcuyTamqstwkbVeVB+Ev/EDerb QuifSB8wN3Te+HYoAsl2FQJYi+ffeJ9NCCPLP1uICMsDE9JD7hUpdxQJ -----END RSA PRIVATE KEY-----

    將私鑰add進(jìn)憑據(jù)

    添加一個(gè)新項(xiàng)目進(jìn)行測(cè)試

    將gitlab上面ssh 鏈接復(fù)制到項(xiàng)目里面

    構(gòu)建項(xiàng)目

    成功啦
    再去服務(wù)器上面查看git的代碼

    [root@jenkins .ssh]# cd /var/lib/jenkins/workspace/test02 [root@jenkins test02]# ls Dockerfile mvnw mvnw.cmd pom.xml README.md srctest02就是剛剛拉取的代碼

    Maven安裝及配置

    在Jenkins集成服務(wù)器上,我們需要安裝Maven來編譯和打包項(xiàng)目
    下載地址
    我下載的 apache-maven-3.8.1-bin.tar.gz

    上傳至jenkens服務(wù)器 解包 tar xf apache-maven-3.8.1-bin.tar.gz mv apache-maven-3.8.1 /usr/local cd /usr/local mv apache-maven-3.8.1 maven修改環(huán)境變量 export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk export MAVEN_HOME=/usr/local/maven export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/binsource /etc/profile查看版本 mvn -v[root@jenkins local]# mvn -v Apache Maven 3.8.1 (05c21c65bdfed0f71a2f2ada8b84da59348c4c5d) Maven home: /usr/local/maven Java version: 1.8.0_292, vendor: Red Hat, Inc., runtime: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.292.b10-1.el7_9.x86_64/jre Default locale: en_US, platform encoding: UTF-8 OS name: "linux", version: "3.10.0-1127.19.1.el7.x86_64", arch: "amd64", family: "unix"

    全局工具配置關(guān)聯(lián)JDK和Maven

    瀏覽器來到全局工具配置

    配置jdk

    配置maven

    添加Jenkins全局變量

    在系統(tǒng)配置中的全局屬性
    添加三個(gè)全局變量

    • JAVA_HOME
    • M2_HOME
    • PATH+EXTRA


      修改Maven的settings.xml提高下載速度
    mkdir /root/repovim /usr/local/maven/conf/settings.xml修改本地倉庫路徑--><localRepository>/root/repo</localRepository><mirror><id>alimaven</id><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url><mirrorOf>central</mirrorOf> </mirror>

    測(cè)試Maven是否配置成功

    進(jìn)入test02項(xiàng)目的配置
    構(gòu)建下面添加shell腳本

    讓mvn先清空字節(jié)碼和構(gòu)建好的包
    然后package 構(gòu)建一個(gè)war包

    構(gòu)建

    控制臺(tái)查看輸入
    正在使用配置的阿里源拉取包

    等待一會(huì)兒 項(xiàng)目成功編譯和打包

    進(jìn)入項(xiàng)目目錄下查看

    Tomcat安裝和配置

    進(jìn)入tomcat服務(wù)器 安裝JDK yum install -y java-1.8.0-openjdk* java -versiontar xf apache-tomcat-8.5.16.tar.gz -C /usr/localcd /usr/local mv apache-tomcat-8.5.16 tomcat啟動(dòng)tomcat cd /usr/local/tomcat/bin ./startup.sh 通過瀏覽器測(cè)試

    配置Tomcat用戶角色權(quán)限

    我們?cè)趖omcat網(wǎng)頁下點(diǎn)擊

    發(fā)現(xiàn)權(quán)限不足

    后續(xù)Jenkins部署項(xiàng)目到Tomcat服務(wù)器,需要用到Tomcat的用戶,所以修改tomcat以下配置,添加用戶及權(quán)限

    cd /usr/local/tomcat/conf/ vim tomcat-users.xml添加角色 <role rolename="tomcat"/> <role rolename="role1"/> <role rolename="manager-script"/> <role rolename="manager-gui"/> <role rolename="manager-status"/> <role rolename="admin-gui"/> <role rolename="admin-script"/> <user username="tomcat" password="tomcat" roles="manager-gui,manager-script,tomcat,admin-gui,admin-script"/>

    用戶和密碼都是:tomcat 為了能夠剛才配置的用戶登錄到Tomcat,還需要修改以下配置vim /usr/local/tomcat/webapps/manager/META-INF/context.xml注釋<!--<Valve className="org.apache.catalina.valves.RemoteAddrValve"allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />-->注意:xml文件注釋是 <!-- -->


    重啟tomcat
    點(diǎn)擊manager webapp
    輸入tomcat tomcat

    總結(jié)

    以上是生活随笔為你收集整理的Jenkins——持续集成及Jenkins介绍和安装配置(插件,用户权限,凭据,Maven安装打包,配置tomcat用户权限)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。