国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

基于 Jenkins 搭建一套 CI/CD 系統(tǒng)

這篇具有很好參考價值的文章主要介紹了基于 Jenkins 搭建一套 CI/CD 系統(tǒng)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、CI/CD環(huán)境介紹

基于 Jenkins 搭建一套 CI/CD 系統(tǒng),jenkins,ci/cd,運維

本次要實現(xiàn)如下效果,開發(fā)人員完成功能開發(fā)并提交代碼到gitlab倉庫,jenkins自動完成拉取代碼、編譯構(gòu)建、代碼掃描(sonarqube)、打包,再自動化完成部署到Tomcat服務(wù)器提供訪問。

環(huán)境準備三臺Centos7.6機器:

服務(wù)器 IP地址 配置 包含功能及版本
Gitlab 192.168.220.170 2核2G Gitlab:12.4.2 (393a5bdafa2)
Jenkins 192.168.220.172 2核2G

Jenkins:2.364

Maven:3.8.6

Sonarqube:7.9.6 (build 41879)

JDK:11.0.16

Git:1.8.3.1

Tomcat 192.168.220.173 2核2G

Tomcat:8.5.82

JDK:1.8.0_342

部署過程中踩過不少坑,這套Jenkins因為需要安裝較多插件,而Jenkins上的插件版本要求比較嚴格,所以最好實驗情況下直接安裝最新的Jenkins版本,這樣上面的插件基本都能安裝,包括Pipeline、gitlab、SSH Server等。不然遇到Jenkins插件安裝不順暢對新人挺麻煩的。

Jenkins安裝最新版,那JDK也必須11以上,那也就要求sonarqube也得7.8以上,三者之間都是有依賴關(guān)系的。

看下效果:

基于 Jenkins 搭建一套 CI/CD 系統(tǒng),jenkins,ci/cd,運維

自動git拉取代碼:

基于 Jenkins 搭建一套 CI/CD 系統(tǒng),jenkins,ci/cd,運維

maven自動構(gòu)建:

基于 Jenkins 搭建一套 CI/CD 系統(tǒng),jenkins,ci/cd,運維

sonarqube自動掃描:

基于 Jenkins 搭建一套 CI/CD 系統(tǒng),jenkins,ci/cd,運維

自動部署:

基于 Jenkins 搭建一套 CI/CD 系統(tǒng),jenkins,ci/cd,運維

sonarqube掃描結(jié)果:

基于 Jenkins 搭建一套 CI/CD 系統(tǒng),jenkins,ci/cd,運維

二、CI/CD平臺搭建

1)安裝gitlab

1.?安裝相關(guān)依賴
yum?-y?install?policycoreutils?openssh-server?openssh-clients?postfix
2.?啟動ssh服務(wù)&設(shè)置為開機啟動
systemctl?enable?sshd?&&?sudo?systemctl?start?sshd
3.?設(shè)置postfix開機自啟,并啟動,postfix支持gitlab發(fā)信功能
systemctl?enable?postfix?&&?systemctl?start?postfix
4.?開放ssh以及http服務(wù),然后重新加載防火墻列表
firewall-cmd?--add-service=ssh?--permanent
firewall-cmd?--add-service=http?--permanent
firewall-cmd?--reload
如果關(guān)閉防火墻就不需要做以上配置
5.?下載gitlab包,并且安裝
在線下載安裝包:
wget?https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6/gitlab-ce-12.4.2-ce.0.el6.x
86_64.rpm
安裝:
rpm?-i?gitlab-ce-12.4.2-ce.0.el6.x86_64.rpm
6.?修改gitlab配置
vi?/etc/gitlab/gitlab.rb
修改gitlab訪問地址和端口,默認為80,我們改為82
external_url?'http://192.168.220.170:82'
nginx['listen_port']?=?82
7.?重載配置及啟動gitlab
gitlab-ctl?reconfigure
gitlab-ctl?restart
8.?把端口添加到防火墻
firewall-cmd?--zone=public?--add-port=82/tcp?--permanent
firewall-cmd?--reload
啟動成功后,看到以下修改管理員root密碼的頁面,修改密碼后,然后登錄即可

基于 Jenkins 搭建一套 CI/CD 系統(tǒng),jenkins,ci/cd,運維

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

基于 Jenkins 搭建一套 CI/CD 系統(tǒng),jenkins,ci/cd,運維

基于 Jenkins 搭建一套 CI/CD 系統(tǒng),jenkins,ci/cd,運維

這樣用戶zhangsan就擁有了itheima_group組的權(quán)限。接下來使用zhangsan用戶進入組創(chuàng)建一個新的項目,項目名稱:hello_demo

基于 Jenkins 搭建一套 CI/CD 系統(tǒng),jenkins,ci/cd,運維

該項目倉庫地址是:

http://192.168.220.170:82/itheima_group/hello-demo.git

git@192.168.220.170:itheima_group/hello-demo.git

接下來將本地的maven工程代碼上傳到gitlab倉庫,上傳成功后如下:

基于 Jenkins 搭建一套 CI/CD 系統(tǒng),jenkins,ci/cd,運維

到這gitlab就準備好了!

2)安裝jenkins

1)安裝JDK
Jenkins需要依賴JDK,所以先安裝JDK11
yum?install?-y?java-11-openjdk*
安裝目錄為:/usr/lib/jvm
2)獲取jenkins安裝包
wget?-O?/etc/yum.repos.d/jenkins.repo?https://pkg.jenkins.io/redhat/jenkins.repo?--no-check-certificate
rpm?--import?https://pkg.jenkins.io/redhat/jenkins.io.key
yum?install?jenkins
3)啟動Jenkinssystemctl?start?jenkins
4)打開瀏覽器訪問
http://192.168.220.172:8080
注意:本服務(wù)器把防火墻關(guān)閉了,如果開啟防火墻,需要在防火墻添加端口
5)獲取并輸入admin賬戶密碼
cat?/var/lib/jenkins/secrets/initialAdminPassword
6)跳過插件安裝
因為Jenkins插件需要連接默認官網(wǎng)下載,速度非常慢,而且經(jīng)過會失敗,所以我們暫時先跳過插件安裝

第二種安裝:

?Jenkins本地安裝:下載jenkins.war包,放在tomcat的webapps下,運行tomcat。

Jenkins安裝完成后,需要替換插件更新源:需要執(zhí)行以下步驟:

sed?-i?'s/https:\/\/updates.jenkins.io\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g'?default.json?&&?sed?-i?'s/https:\/\/www.google.com/https:\/\/www.baidu.com/g'?default.json

在Manage Jenkins -- Plungin Manager -- Update Site:將url替換為清華大學(xué)的url:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

基于 Jenkins 搭建一套 CI/CD 系統(tǒng),jenkins,ci/cd,運維

提交后,在瀏覽器輸入:http://192.168.220.172.:8080/restart重啟jenkins生效。

Jenkins準備好后,就是與gitlab集成,完成代碼自動拉取的動作了。但是需要先準備如下:

安裝Credentials Binding插件

要在Jenkins使用憑證管理功能,需要安裝Credentials Binding插件,拉取gitlab代碼需要使用憑證的方式拉?。?/p>

基于 Jenkins 搭建一套 CI/CD 系統(tǒng),jenkins,ci/cd,運維

再去添加gitlab認證的憑證:

基于 Jenkins 搭建一套 CI/CD 系統(tǒng),jenkins,ci/cd,運維

還要再jenkins服務(wù)器上安裝git工具和git插件:

基于 Jenkins 搭建一套 CI/CD 系統(tǒng),jenkins,ci/cd,運維

基于 Jenkins 搭建一套 CI/CD 系統(tǒng),jenkins,ci/cd,運維

在jenkins上準備一個項目:

基于 Jenkins 搭建一套 CI/CD 系統(tǒng),jenkins,ci/cd,運維

基于 Jenkins 搭建一套 CI/CD 系統(tǒng),jenkins,ci/cd,運維

到這里,jenkins拉取gitlab代碼的準備條件都ok了。開始與gitlab集成吧。

基于 Jenkins 搭建一套 CI/CD 系統(tǒng),jenkins,ci/cd,運維

保存,然后回到項目點“Build Now”:

基于 Jenkins 搭建一套 CI/CD 系統(tǒng),jenkins,ci/cd,運維

基于 Jenkins 搭建一套 CI/CD 系統(tǒng),jenkins,ci/cd,運維

如上圖,jenkins自動去gitlab拉取代碼,并且將代碼工程放在如上路徑下:

基于 Jenkins 搭建一套 CI/CD 系統(tǒng),jenkins,ci/cd,運維

好了,到這里說明jenkins已經(jīng)安裝成功了,也安裝了相關(guān)的插件和配置了jenkins的基本配置,并且完成了與gitlab的集成,完成構(gòu)建自動觸發(fā)代碼拉取到本地。

3)部署Tomcat服務(wù)器

把Tomcat壓縮包上傳到192.168.66.102服務(wù)器
yum?install?java-1.8.0-openjdk*?-y?#安裝JDK(已完成)
tar?-xzf?apache-tomcat-8.5.47.tar.gz?#解壓
mkdir?-p?/opt/tomcat?#創(chuàng)建目錄
mv?/root/apache-tomcat-8.5.47/*?/opt/tomcat?#移動文件
/opt/tomcat/bin/startup.sh?#啟動tomcat

?

注意:服務(wù)器已經(jīng)關(guān)閉了防火墻,所以可以直接訪問Tomcat啦,地址為:http://192.168.66.102/8080

基于 Jenkins 搭建一套 CI/CD 系統(tǒng),jenkins,ci/cd,運維

基于 Jenkins 搭建一套 CI/CD 系統(tǒng),jenkins,ci/cd,運維

tomcat已經(jīng)部署成功!

4)配置jenkins與tomcat集成,完成CD持續(xù)部署功能

同樣的,也是需要在jenkins上做大量的配置:

Maven安裝和配置

tar?-xzf?apache-maven-3.6.2-bin.tar.gz?#解壓
mkdir?-p?/opt/maven?#創(chuàng)建目錄
mv?apache-maven-3.6.2/*?/opt/maven?#移動文件

配置環(huán)境變量

export?JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export?MAVEN_HOME=/opt/maven
export?PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin

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

基于 Jenkins 搭建一套 CI/CD 系統(tǒng),jenkins,ci/cd,運維

基于 Jenkins 搭建一套 CI/CD 系統(tǒng),jenkins,ci/cd,運維

添加Jenkins全局變量

基于 Jenkins 搭建一套 CI/CD 系統(tǒng),jenkins,ci/cd,運維

準備好后,來測試Maven構(gòu)建是否生效,還是用剛剛的項目:hello_web

基于 Jenkins 搭建一套 CI/CD 系統(tǒng),jenkins,ci/cd,運維

基于 Jenkins 搭建一套 CI/CD 系統(tǒng),jenkins,ci/cd,運維

基于 Jenkins 搭建一套 CI/CD 系統(tǒng),jenkins,ci/cd,運維

可以看到,項目構(gòu)建成功??梢匀シ?wù)器上看到war包已經(jīng)生成。

基于 Jenkins 搭建一套 CI/CD 系統(tǒng),jenkins,ci/cd,運維

war可以自動編譯,還差自動部署了,有需要配置一些步驟:

安裝 Deploy to container插件

基于 Jenkins 搭建一套 CI/CD 系統(tǒng),jenkins,ci/cd,運維

添加Tomcat憑證

基于 Jenkins 搭建一套 CI/CD 系統(tǒng),jenkins,ci/cd,運維

jenkins項目配置構(gòu)建后操作

基于 Jenkins 搭建一套 CI/CD 系統(tǒng),jenkins,ci/cd,運維

基于 Jenkins 搭建一套 CI/CD 系統(tǒng),jenkins,ci/cd,運維

保存配置,點“Build Now”:

基于 Jenkins 搭建一套 CI/CD 系統(tǒng),jenkins,ci/cd,運維

基于 Jenkins 搭建一套 CI/CD 系統(tǒng),jenkins,ci/cd,運維

可以看到項目成功部署,可以正常訪問。文章來源地址http://www.zghlxwxcb.cn/news/detail-839228.html

到了這里,關(guān)于基于 Jenkins 搭建一套 CI/CD 系統(tǒng)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • CI/CD持續(xù)集成持續(xù)發(fā)布(jenkins)

    CI/CD持續(xù)集成持續(xù)發(fā)布(jenkins)

    ? ? ? ? 在實際開發(fā)中,我們經(jīng)常要一邊開發(fā)一邊測試,當然這里說的測試并不是程序員對自己代碼的單元測試,而是同組程序員將代碼提交后,由測試人員測試; 或者前后端分離后,經(jīng)常會修改接口,然后重新部署; 這些情況都會涉及到頻繁的打包部署; 手動打包常規(guī)步

    2024年02月14日
    瀏覽(70)
  • jenkins容器內(nèi)CI/CD 項目失敗問題

    1.1 原因:jenkins容器內(nèi): docker.sock 權(quán)限 1.2 問題解決方案 文件權(quán)限如下: srw-rw---- 1 root 994 0 Jun 30 06:51 docker.sock 進行權(quán)限修改 最終權(quán)限修改成功為:srw-rw-rw- 1 root root 0 Jun 30 06:51 docker.sock 2.1 問題原因 項目為前端vue,依賴于nodejs 和 npm, 需要為容器安裝npm, nodejs 2.2 問題解決方

    2024年02月13日
    瀏覽(29)
  • docker部署Jenkins(Jenkins+Gitlab+Maven實現(xiàn)CI/CD)

    docker部署Jenkins(Jenkins+Gitlab+Maven實現(xiàn)CI/CD)

    ?? ?? GitLab是一個用于倉庫管理系統(tǒng)的開源項目,使用Git作為代碼管理工具,并在此基礎(chǔ)上搭建起來的Web服務(wù),可通過Web界面進行訪問公開的或者私人項目。它擁有與Github類似的功能,能夠瀏覽源代碼,管理缺陷和注釋。 ??????GitLab是由GitLabInc.開發(fā),使用MIT許可證的基于

    2024年02月03日
    瀏覽(32)
  • gitlab+jenkins+harbor實現(xiàn)CI/CD(2)——初級

    gitlab+jenkins+harbor實現(xiàn)CI/CD(2)——初級

    git安裝 jenkins主機上安裝docker-ce 配置倉庫證書 測試 創(chuàng)建項目 創(chuàng)建一個freestyle project 在jenkins主機獲取密鑰 在gitlab上傳公鑰 在jenkins上傳私鑰 輸入測試命令后保存 點擊立即構(gòu)建 查看控制臺輸出 工作路徑 構(gòu)建觸發(fā)器,定時觸發(fā) 安裝插件 gitlab和 Cloudbee docker 配置gitlab 在網(wǎng)絡(luò)設(shè)

    2024年02月09日
    瀏覽(25)
  • Jenkins CI/CD 持續(xù)集成專題三 Jenkins 使用shell腳本打包組件配置流程

    Jenkins CI/CD 持續(xù)集成專題三 Jenkins 使用shell腳本打包組件配置流程

    第六步 查看編譯狀態(tài)和產(chǎn)物 到這里,jenkins 配置shell腳本打包組件的完整配置流程就已經(jīng)完成

    2024年04月29日
    瀏覽(28)
  • 基于SNAT+DNAT發(fā)布內(nèi)網(wǎng)K8S及Jenkins+gitlab+Harbor模擬CI/CD的綜合項目

    基于SNAT+DNAT發(fā)布內(nèi)網(wǎng)K8S及Jenkins+gitlab+Harbor模擬CI/CD的綜合項目

    目錄 項目名稱 項目架構(gòu)圖 項目環(huán)境 項目概述 項目準備 項目步驟 一、修改每臺主機的ip地址,同時設(shè)置永久關(guān)閉防火墻和selinux,修改好主機名,在firewalld服務(wù)器上開啟路由功能并配置snat策略。 1. 在firewalld服務(wù)器上配置ip地址、設(shè)置永久關(guān)閉防火墻和selinux,并修改好主機名

    2024年02月09日
    瀏覽(54)
  • Rancher2.7 + Jenkins CI/CD全流程保姆級最佳實踐

    Rancher2.7 + Jenkins CI/CD全流程保姆級最佳實踐

    CI方面,官方推薦的視頻教程等多是使用極狐Gitlab CI,但社區(qū)版極狐每月僅400分鐘構(gòu)造時間,額外購買價格為1000分鐘/68元,而私有化部署極狐Gitlab對比部署使用Jenkins,具有更高的成本、更狹窄的適用面,且如果個人使用其代碼倉庫功能,并不比Gitee可靠。 Gitee 同樣提供CI服務(wù)

    2024年02月05日
    瀏覽(29)
  • nodejs前端項目的CI/CD實現(xiàn)(二)jenkins的容器化部署

    nodejs前端項目的CI/CD實現(xiàn)(二)jenkins的容器化部署

    docker安裝jenkins,可能你會反問,這太簡單了,有什么好講的。 我最近就接手了一個打包項目,它是一個nodejs的前端項目,jenkins已在容器里部署且運行OK。 但是,前端組很追求新技術(shù),不斷地升級Nodejs的版本,之前是14,現(xiàn)在需要升級到16。 也就是說,原本運行順暢的打包不

    2024年01月20日
    瀏覽(22)
  • [Docker實現(xiàn)測試部署CI/CD----Jenkins集成相關(guān)服務(wù)器(3)]

    [Docker實現(xiàn)測試部署CI/CD----Jenkins集成相關(guān)服務(wù)器(3)]

    ???????? SonarScanner 是一種代碼掃描工具,專門用來掃描和分析項目代碼質(zhì)量。掃描和分析完 成之后,會將結(jié)果寫入到 SonarQube 服務(wù)器的數(shù)據(jù)庫中,并在 SonarQube 平臺顯示這些數(shù) 據(jù)。 ????????在 SonarQube 官網(wǎng)的幫助文檔中可以下載 SonarScanner。這里下載一個 Linux 系統(tǒng)下使

    2024年02月14日
    瀏覽(27)
  • Jenkins分布式實現(xiàn): 構(gòu)建彈性和可擴展的CI/CD環(huán)境!

    Jenkins分布式實現(xiàn): 構(gòu)建彈性和可擴展的CI/CD環(huán)境!

    Jenkins是一個流行的開源持續(xù)集成(Continuous Integration,CI)和持續(xù)交付(Continuous Delivery,CD)工具,它通過自動化構(gòu)建、測試和部署過程,幫助開發(fā)團隊更高效地交付軟件。Jenkins的分布式實現(xiàn)允許將任務(wù)分散到多個計算機上執(zhí)行,從而提高系統(tǒng)的彈性和可擴展性。本文將深入

    2024年02月01日
    瀏覽(94)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包