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、项目构建和发布

 
 

 
