自动化篇 CICD的概念和搭建

前言

一、CICD是什么?

持续集成(CI)是在源代码变更后自动检测、拉取、构建和(在大多数情况下)进行单元测试的过程。持续集成是启动管道的环节(尽管某些预验证 —— 通常称为上线前检查pre-flight checks —— 有时会被归在持续集成之前)。
持续集成的目标是快速确保开发人员新提交的变更是好的,并且适合在代码库中进一步使用。
在这里插入图片描述

持续部署(CD)是指能够自动提供持续交付管道中发布版本给最终用户使用的想法。根据用户的安装方式,可能是在云环境中自动部署、app 升级(如手机上的应用程序)、更新网站或只更新可用版本列表。
这里的一个重点是,仅仅因为可以进行持续部署并不意味着始终部署来自管道的每组可交付成果。它实际上指,通过管道每套可交付成果都被证明是“可部署的”。这在很大程度上是由持续测试的连续级别完成的(参见本文中的持续测试部分)。
管道构建的发布成果是否被部署可以通过人工决策,或利用在完全部署之前“试用”发布的各种方法来进行控制。
在这里插入图片描述

整体上就是开发人员将代码开发好上传至代码仓库 自动运行成功就交由jenkins来抓取和容器对接来自动化上线和部署 不通过则退回 开发自己审核

组件

代码仓库gitlab
GitLab是一个代码仓库,用来管理代码 开发人员将代码上传至仓库
jenkins
Jenkins是一个自动化服务器,可以运行各种自动化构建、测试或部署任务
git组件
将Jenkins暂存在目录中

二 部署

jenkins和git组件安装

先安装Jenkins

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo   先配置一个网络源  按转组件
wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo   Jenkins官方源
rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key    从官方源获取rpm包
yum install jenkins    安转Jenkins
/etc/init.d/jenkins start  开启服务
systemctl status jenkins.service   检查服务状态
yum install -y git  安转git组件

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

在浏览器打开 端口为8080 地址为服务器地址 去对应的文件夹找到密钥输入
在这里插入图片描述

在这里插入图片描述
登陆
在这里插入图片描述
在这里插入图片描述
主页面
在这里插入图片描述

GIT组件安装

yum install -y git   安装git 
git config --global user.name "oao"   设置用户名
git config --global user.email "2234797257@qq.com"  设置邮箱
git config --global color.ui true   高亮显示
git config --list  查看列表
mkdir /work  创建工作目录
cd /wock
git init 初始化git
git status  查看状态

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

gitlab安装

 yum install curl policycoreutils openssh-server openssh-clients postfix  安装依赖性
 systemctl status postfix.service  查看服务状态确保开启
 yum install -y net-tools  安装工具包
 rpm -ivh gitlab-ce-11.2.0-ce.0.el7.x86_64.rpm  安装gitlab服务
 vim /etc/gitlab/gitlab.rb   配置gitlab仓库路径
 gitlab-ctl reconfigure  gitlab初始化
 gitlab-ctl restart   重载服务
 浏览器访问

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
浏览器访问 初次以root密码登陆
在这里插入图片描述
主界面
在这里插入图片描述
优化向

vim /etc/gitlab/gitlab.rb

#设置站点地址
external_url 'http://192.168.0.200'
#进程超时时间
unicorn['worker_timeout'] = 60
#减少进程数
unicorn['worker_processes'] = 10
#进程内存限制
unicorn['worker_memory_limit_min'] = "200 * 1 << 20"
unicorn['worker_memory_limit_max'] = "300 * 1 << 20"
#减少数据库缓存
postgresql['shared_buffers'] = "256MB"
#减少数据库并发量
postgresql['max_parallel_workers_per_gather'] = 0
#关闭监控monitor
prometheus['monitor_kubernetes'] = false

egrep -v "#|^$" /etc/gitlab/gitlab.rb

#启动gitlab
gitlab-ctl start

三 预测试环境部署

需求:Jenkins可以拉取提交到gitlab的代码

192.168.25.3jenkins服务器 Jenkins+git
192.168.25.4gitlab服务器

Jenkins补全gitlab组件

Build Authorization Token Root
Publish Over SSH
Gitlab Authentication
Gitlab Hook
Gitlab
Git Paramete
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述

Jenkins密钥认证

ssh-keygen -t rsa
cat /root/.ssh/id_rsa.pub

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

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

Jenkins添加认证

cat /root/.ssh/id_rsa.pub

在这里插入图片描述

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

Jenkins和gitlab对接

打开gitlab创建密钥
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
完成后保存
在这里插入图片描述

添加SSH服务器

在这里插入图片描述
将之前的git返回的密钥输入
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四 开始构建

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

配置wobook

用来更新数据 向Jenkins发送广播告诉他有新的数据上传

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
点击测试

返回200表示正常
在这里插入图片描述

构建测试

在这里插入图片描述

去服务器查看是否有文件‘
在这里插入图片描述

报错

128代码

在这里插入图片描述
原因:ssh凭证 在构建ssh服务器是密钥不完整 重新复制公钥 注意用户名

gitlab无法启动

在这里插入图片描述
解决 重启 systemctl start gitlab-runsvdir

hook插件装不上

在这里插入图片描述
先检查安装路径没有空格 一般是挂个加速器或vpn就可以解决

webhook

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

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
搭建CICD自动化平台,首先需要访问Jenkins并配置整个CICD流程。可以使用Jenkins提供的Token来进行访问,例如设置Token为"4bf636c8214b7ff0a0fb",同时记住访问方式为JENKINS_URL/job/liruilong-cicd/build?token=TOKEN_NAME。接下来,需要配置构建触发器和构建步骤。 构建触发器可以选择使用shell构建,并在构建步骤中选择克隆代码和构建镜像。在构建镜像时,需要将镜像推送到私有仓库,并添加私有仓库的认证信息,即之前设置的用户名和密码。另外,还可以选择使用shell构建来更新镜像。 整体上,开发人员将代码开发好并上传至代码仓库,然后交由Jenkins来自动运行,并与容器对接,实现自动化上线和部署。如果自动化运行失败,可以退回到开发人员审核组件。 另外,要搭建CICD自动化平台还需要注意以下几个步骤: 1. 修改完配置文件后,直接启动容器。 2. 在宿主机所在的物理机上访问相应地址,可能需要修改密码并重新登录到仪表盘。 3. 进行简单测试,将项目推送到Gitlab或其他代码仓库。 最后,还要确保所有节点都设置完毕后重启docker。例如,可以使用以下命令来修改docker.service配置并重启docker服务: ``` vim /usr/lib/systemd/system/docker.service systemctl daemon-reload systemctl restart docker ``` 需要注意,以上是建议的步骤,具体的搭建过程可能因环境和需求而有所不同。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值