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、項目構建和發布