当前位置: 首页 > news >正文

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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

相关文章:

  • 海康NVR配置NAS-TrueNAS
  • NFC 碰一碰实现视频源码,网页与小程序协同
  • TFTP服务调试
  • uv run 都做了什么?
  • 7-1 三种语言的单词转换
  • 【ESP32-IDF笔记】07-ADC 配置和使用
  • 移动端使用keep-alive将页面缓存和滚动缓存具体实现方法 - 详解
  • 程序员思维体操:TDD修炼手册
  • 激光雷达成为新时代「安全气囊」,禾赛推动智能车安全再进化
  • 网络socks 代理
  • 怎么减少tcp 的time_wait时间
  • Openharmony 和 HarmonyOS 区别?
  • 【架构】Armstrong公理系统通俗详解:数据库设计的基本法则
  • Linux实现网络计数器
  • 比较:AWS VPC peering与 AWS Transit Gateway
  • stm32之GPIO函数详解和上机实验
  • AI PPT创作原理解析:让你的演示文稿更智能
  • vue3中slot(插槽)的详细使用
  • SpringBoot入门实战(第六篇:项目接口-登录)
  • 数据结构初阶:二叉树(四)
  • 海关总署:明确部分货物、物品不再按进出境特殊物品监管
  • “仅退款”将成历史?电商平台集中调整售后规则
  • “低头捡星光”,艺术创作直面三江源生态保护
  • 中国驻日本大使馆发言人就日方涉靖国神社消极动向答记者问
  • 华天酒店:2024年归母净亏损约1.81亿元,已连续亏损3年
  • 告别国泰海通,黄燕铭下一站将加盟东方证券,负责研究业务