devops自動化容器化部署

devops

  • 一、簡單案例體驗gitlab+runner部署靜態文件
  • 二、devops企業級部署方案
    • 1、流程圖
    • 2、依賴工具
    • 3、流程圖
    • 4、主機規劃
    • 5、安裝工具軟件
      • 1、安裝git
      • 2、安裝gitlab
      • 3、安裝jenkins-server
      • 4、安裝harbor
      • 5、安裝web-server,也就是部署服務的機子,需要安裝docker
    • 6、工具配置
      • 1、配置docker主機使用harbor
      • 2、配置jenkins使用harbor
      • 3、密鑰配置
      • 4、jenkins插件安裝
      • 5、jenkins全局工具配置
      • 6、jenkins系統配置
    • 7、企業業務代碼項目發布
    • 8、項目構建和發布

一、簡單案例體驗gitlab+runner部署靜態文件

gitlab-ce安裝:
參考文章:https://blog.csdn.net/qq_30374237/article/details/118189824

yum -y install policycoreutils openssh-server openssh-clients postfix
yum install policycoreutils-python systemctl enable sshd && sudo
systemctl start sshd systemctl enable postfix && systemctl start
postfix systemctl stop firewalld.service

安裝gitlab-ce,這個安裝包有問題:

wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6/gitlab-ce-13.6.7-ce.0.el6.x86_64.rpm

安裝gitlab-ce,我用了這個安裝地址,可以

wget --content-disposition https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/7/gitlab-ce-15.2.2-ce.0.el7.x86_64.rpm/download.rpm

將這個rpm包下載到本地,直接安裝即可

yum install -y gitlab-ce-15.2.2-ce.0.el7.x86_64.rpm

查看gitlab的配置文件

cd /etc/gitlab
vi gitlab.rb

三種模式
1.命令模式(默認)
可以搜索 /external_url
2.插入模式:按i鍵,可以修改內容(-- INSERT --提示)
按左上角esc按鈕,可以切換模式
輸入退出并保存的指令:wq
不需要修改,直接退出:q

gitlab-ctl reconfigure
gitlab-ctl restart

查看初始密碼:/etc/gitlab/initial_root_password文件
gitlab初始設置

本地裝好git軟件,自己去百度一下。
編輯器vs code
3.安裝gitlab-runner
參考文章:https://juejin.cn/post/6844903798796730375

我們服務器是CentOS

curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh | sudo bash

安裝:

sudo yum install gitlab-ci-multi-runner

gitlab-runner 注冊
獲取gitlab-ci的Token: 項目主頁 -> Sttings -> CI/CD -> Runners Expand

指令:
gitlab-runner register

驗證runner是否能正常運行
參考文章:https://blog.csdn.net/sinat_17775997/article/details/115700703

如果運行不正常,就要檢查Run untagged jobs是否開啟

安裝一個靜態服務器,用來展示web頁面的
https://blog.csdn.net/sinat_17775997/article/details/115700703
指令:
https://jingyan.baidu.com/article/1709ad80c38e240634c4f098.html
yum install httpd
httpd -v

因為gitlab已經占用了80端口
修改httpd配置文件的路徑是/etc/httpd/conf/httpd.conf
所以這個httpd要改他的默認端口80為8000

啟動http服務
service httpd start

裝其他軟件
yum install sshpass
先將這個提問關閉,等第一次生產密鑰之后,再打開就好。
Are you sure you want to continue connecting (yes/no/[fingerprint])?
參考:https://blog.csdn.net/zhengzaifeidelushang/article/details/109348222

vim /etc/ssh/ssh_config
StrictHostKeyChecking no
UserKnownHostsFile /dev/null

esc鍵

二、devops企業級部署方案

1、流程圖

在這里插入圖片描述

2、依賴工具

在這里插入圖片描述

3、流程圖

在這里插入圖片描述

4、主機規劃

在這里插入圖片描述
1、按照主機規劃給分配的每臺主機起名 hostnamectl set-hostname xxx
在這里插入圖片描述

2、IP地址配置,修改/etc/sysconfig/network-scripts/ifcfg-ens33 來配置IP
在這里插入圖片描述
補充說明:可以使用win命令ipconfg或者linux命令ip a查看dns和網關

無線局域網適配器 WLAN:
連接特定的 DNS 后綴 . . . . . . . :
本地鏈接 IPv6 地址. . . . . . . . : fe80::c527:5c19:2da6:f642%17
IPv4 地址 . . . . . . . . . . . . : 172.16.4.208
子網掩碼 . . . . . . . . . . . . : 255.255.252.0
默認網關. . . . . . . . . . . . . : 172.16.4.1

(1)配置靜態IP時,網關和DNS地址不能隨便配置?。網關和DNS地址需要根據網絡環境進行正確配置,以確保設備能夠正常連接到互聯網和進行域名解析。
(2)網關和DNS的作用及配置方法

(2-1)網關(Gateway)?:

  • 作用?:網關是設備訪問外部網絡的出口,通常是路由器的IP地址。它允許設備通過這個地址與外部網絡通信。
  • 配置方法?:網關地址應設置為路由器的IP地址。例如,如果路由器的IP地址是192.168.1.1,那么網關地址也應設置為192.168.1.1?

(2-2)DNS(Domain Name System)服務器?:

  • 作用?:DNS服務器負責將域名解析為IP地址,幫助設備找到其他網站的IP地址。
  • 配置方法?:DNS服務器可以選擇公共DNS,如Google的8.8.8.8和8.8.4.4,或者使用網絡服務提供商(ISP)提供的DNS服務器地址。例如,中國電信的DNS服務器地址為114.114.114.114?

3、主機名與ip地址解析的配置,修改 /etc/hosts 文件
在這里插入圖片描述
4、防火墻配置
在這里插入圖片描述
補充說明:sestatus也需要設置為disabled。可使用命令

sudo vi /etc/selinux/config
SELINUX=disabled  # 原值可能是enforcing或permissive
sudo reboot

?sestatus命令?用于查看SELinux(Security-Enhanced Linux)的當前狀態。包括是否啟用、模式(如Enforcing、Permissive或Disabled)、配置文件的位置以及其他相關信息?。設置完結果如下圖:
在這里插入圖片描述

5、各個主機的時間同步。前提是保證有ntpdate命令
在這里插入圖片描述

5、安裝工具軟件

1、安裝git

yum -y install git

2、安裝gitlab

(1)配置yum源:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/你的版本號
在這里插入圖片描述

vim /etc/yum.repos.d/gitlab-ce.repo

在這里插入圖片描述
(2)安裝gitlab-ce

yum -y install gitlab-ce

(3)gitlab-ce配置

 vim /etc/gitlab/gitlab.rb32 external_url 'http://192.168.10.21'

(4)啟動gitlab-ce

gitlab-ctl reconfigure
gitlab-ctl status

(5)訪問驗證
在這里插入圖片描述

3、安裝jenkins-server

(1)安裝jdk
(2)安裝jenkins。在官網jenkins.io下載安裝
在這里插入圖片描述
根據官網命令執行下圖的命令即可。第四條命令安裝jdk在上一步已經安裝了,無需執行,第五條命令可以執行yum -y install jenkins
第三步安裝epel-release很慢的話可以使用阿里云的鏡像:wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epe1-7.repo
在這里插入圖片描述
(3)jenkins配置
在這里插入圖片描述
配置文件如下
在這里插入圖片描述
在這里插入圖片描述
(4)jenkins自啟動配置
在這里插入圖片描述
啟動后查看密碼并訪問
在這里插入圖片描述
在這里插入圖片描述
注意:部署jenkins的機子也需要安裝git,因為要拉取代碼;需要安裝maven,需要編譯代碼;需要安裝docker,打包docker鏡像
在這里插入圖片描述
在這里插入圖片描述

4、安裝harbor

在這里插入圖片描述

5、安裝web-server,也就是部署服務的機子,需要安裝docker

在這里插入圖片描述

6、工具配置

1、配置docker主機使用harbor

(1)jenkins服務器添加從harbor拉取鏡像
在這里插入圖片描述
(2)harbor服務器配置私有倉庫
在這里插入圖片描述
(3)web-server配置harbor
在這里插入圖片描述

2、配置jenkins使用harbor

在這里插入圖片描述

3、密鑰配置

(1)dev主機到gitlab-ce
在這里插入圖片描述

(2)jenkins服務器到gitlab-ce
在這里插入圖片描述
配置完成后gitlab可以看到倆公鑰
在這里插入圖片描述
配置jenkins私鑰的具體步驟
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

4、jenkins插件安裝

在這里插入圖片描述

(1)maven integration:用于編譯JAVA項目
在這里插入圖片描述
(2)git parameter:用于基于git版本提交進行參數構建項目

(3)gitlab:用于jenkins-server拉取項目

(4)Generic Webhook Trigger:用于項目自動化構建

(5)ssh:用于jenkins-server對web-server實施項目部署

全部安裝后重啟jenkins

5、jenkins全局工具配置

在這里插入圖片描述

(1)jdk配置
在這里插入圖片描述
(2)git配置
在這里插入圖片描述
(3)maven配置
在這里插入圖片描述

6、jenkins系統配置

(1)添加jenkins-server訪問web-server憑據
在這里插入圖片描述
在這里插入圖片描述
(2)配置ssh協議連接主機
在這里插入圖片描述
在這里插入圖片描述

7、企業業務代碼項目發布

(1)數據庫創建
在這里插入圖片描述
(2)代碼獲取
(3)代碼修改
(4)構建項目,運行容器鏡像
在這里插入圖片描述
在這里插入圖片描述

(5)推送鏡像到harbor
在這里插入圖片描述
(6)驗證
在這里插入圖片描述

8、項目構建和發布

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/80660.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/80660.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/80660.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

高級 SQL 技巧:提升數據處理能力的實用方法

在數據驅動的時代,SQL 作為操作和管理關系型數據庫的標準語言,其重要性不言而喻。基礎的 SQL 語句能滿足日常的數據查詢需求,但在處理復雜業務邏輯、進行數據分析和優化數據庫性能時,就需要掌握一些高級 SQL 技巧。這些技巧不僅能提高查詢效率,還能實現復雜的數據處理任務…

21.disql命令登錄達夢數據庫,查詢并操作數據庫

目錄 1.連接達夢數據庫 1.1 windows或linux系統 步驟(1):打開終端窗口 步驟(2):進入夢數據庫安裝目錄下的 bin 文件夾 步驟(3):用disql命令進行登錄 1.2 docker部署…

N8N MACOS本地部署流程避坑指南

最近n8n很火,就想在本地部署一個,嘗嘗鮮,看說明n8n是開源軟件,可以在本地部署,于是就嘗試部署了下,大概用了1個多小時,把相關的過程記錄一下: 1、基礎軟件包 abcXu-MacBook-m2-Air…

qt之開發大恒usb3.0相機一

1.在大恒相機給的sample里沒有看見qt開發的demo. 第一步先運行c sdk中中的demo,看了下代碼,大恒使用的UI框架是MFC.然后 vs2022編譯。運行結果 第一步,先用qt進行坐下頁面布局,如下圖(保存圖片的地方做了些更改&#…

leetcode-枚舉

枚舉 3200. 三角形的最大高度 題目 給你兩個整數 red 和 blue,分別表示紅色球和藍色球的數量。你需要使用這些球來組成一個三角形,滿足第 1 行有 1 個球,第 2 行有 2 個球,第 3 行有 3 個球,依此類推。 每一行的球必…

DeepSeek智能時空數據分析(三):專業級地理數據可視化賞析-《杭州市國土空間總體規劃(2021-2035年)》

序言:時空數據分析很有用,但是GIS/時空數據庫技術門檻太高 時空數據分析在優化業務運營中至關重要,然而,三大挑戰仍制約其發展:技術門檻高,需融合GIS理論、SQL開發與時空數據庫等多領域知識;空…

如何用WordPress AI插件自動生成SEO文章,提升網站流量?

1. 為什么你需要一個WordPress AI文章生成插件? 每天手動寫文章太耗時?SEO優化總是不達標?WordPress AI插件能幫你24小時自動生成原創內容,從關鍵詞挖掘到智能排版,全程無需人工干預。 痛點:手動寫作效率低…

鼠標指定范圍內隨機點擊

鼠標指定范圍內隨機點擊 點贊神器 將鼠標移動到相應位置后按F5 F6鍵,設置點擊范圍, F8開始,ESC中止。 有些直播有點贊限制,例如某音,每小時限制3千次,可以設置1200毫秒,3000次。 軟件截圖&#…

數據庫設置外鍵的作用

數據庫外鍵(Foreign Key)是關系型數據庫中用于建立表與表之間關聯關系的重要約束,其核心作用是確保數據的一致性、完整性和關聯性。以下是外鍵的主要作用及相關說明: 1. 建立表間關聯關系 外鍵通過引用另一張表的主鍵&#xff0…

發幣流程是什么,需要多少成本?

這是一個專注于Web3相關開發的賬號,具體會講解步驟以及開發方案 偶爾會有科普,有興趣的可以點右上角關注一下 發幣(發行數字貨幣)的流程通常涉及技術實現、法律合規、經濟模型設計等多個環節,以下是關鍵步驟的簡要說明…

測試常用的Linux系統指令詳解

為什么測試工程師需要掌握Linux命令? 在現代軟件測試領域,約75%的服務端應用運行在Linux環境中,能夠熟練使用Linux命令的測試工程師,其工作效率比僅依賴GUI工具的測試人員高出40%以上。本文將系統介紹測試工作中最實用的Linux命令…

Java學習手冊:Web 安全基礎

一、常見 Web 安全威脅 在 Web 開發中,安全問題至關重要。以下是一些常見的 Web 安全威脅: 1. SQL 注入 SQL 注入是一種攻擊方式,攻擊者通過在輸入字段中插入惡意的 SQL 代碼,從而操縱數據庫。例如,假設有一個登錄表…

游戲引擎學習第246天:將 Worker 上下文移到主線程創建

回顧并為今天的工作做準備 關于GPU驅動bug的問題,目前本地機器上沒有復現。如果有問題,昨天的測試就應該已經暴露出來了。當前演示的是游戲的過場動畫,運行正常,使用的是硬件渲染。 之前使用軟件渲染時沒有遇到太多問題&#xff…

2025.4.26總結

今天把馬良老師的《職場十二法則》看完后,感觸極大,這們課程就是一場職場啟蒙課。 雖然看過不少關于職場的書籍,但大多數是關于職場進階,方法方面的。并沒有解答“面對未來二三十年的職場生涯,我該怎么去看待自己的工…

路由器轉發規則設置方法步驟,內網服務器端口怎么讓異地連接訪問的實現

在路由器上設置端口轉發(Port Forwarding)可以將外部網絡流量引導到特定的局域網設備,這對于需要遠程訪問服務器、攝像頭、游戲主機等設備非常有用。 登錄路由器管理界面,添加端口轉發規則讓外網訪問內網的實現教程分享。以下是設…

Linux基礎命令總結

Linux系統命令 1. systemctl 1. 基本語法 systemctl start | stop | restart | status 服務名 2. 經驗技巧查看服務的方法:/usr/lib/systemd/system 3. 案例實操 (1)查看防火墻服務的狀態 systemctl status firewalld (2)停止防火墻服務 systemctl stop firewalld (…

【PVCodeNet】《Palm Vein Recognition Network Combining Transformer and CNN》

[1]吳凱,沈文忠,賈丁丁,等.融合Transformer和CNN的手掌靜脈識別網絡[J].計算機工程與應用,2023,59(24):98-109. 文章目錄 1、Background and Motivation2、Related Work3、Advantages / Contributions4、Method5、Experiments5.1、Datasets and Metrics5.2、Hyper-parameters5.…

《企業級 Java EE 架構設計精深實踐》內容詳解

《企業級 Java EE 架構設計精深實踐》內容詳解 1. 書籍核心主題 《企業級 Java EE 架構設計精深實踐》是一本深入探討Java EE 企業級架構設計的實戰指南,涵蓋分層架構、設計模式、分布式系統、微服務、性能優化、安全與監控等核心內容,結合 Java EE 技術…

Ragflow新建的知識庫完成后刷新卻沒有顯示,報錯MethodNotAllowed: 405 Method Not Allowed:

環境: Ragflow17.2 debian12.8 問題描述: Ragflow新建的知識庫完成后刷新卻沒有顯示,報錯MethodNotAllowed: 405 Method Not Allowed: The method is not allowed for the requested URL. 后臺日志: 2025-04-25 13:54:25,988 ERROR 235204 405 Method Not Allowed:…

使用 LangChain + Higress + Elasticsearch 構建 RAG 應用

RAG(Retrieval Augmented Generation,檢索增強生成) 是一種結合了信息檢索與生成式大語言模型(LLM)的技術。它的核心思想是:在生成模型輸出內容之前,先從外部知識庫或數據源中檢索相關信息&…