IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 轻松部署Jenkins+harbor+gitlab实现docker的CICD -> 正文阅读

[系统运维]轻松部署Jenkins+harbor+gitlab实现docker的CICD


总述

需求:
利用Jenkins+gitlab实现代码自动上线,自动部署服务到应用服务器

难点:

如何把新构建镜像自动拉取到应用服务器并自动部署容器?


一、环境

流程:

服务器列表
提示:Jenkins、harbor、应用测试主机安装docker19.03.10。

角色主机名IP软件
持续集成jenkins192.168.42.4git、jenkins-2.222
代码托管git192.168.42.5gitlab-ce-10.2.2
harborharbor192.168.42.6harbor、docker-compose 1.18.0
应用测试app192.168.42.3运行centos7容器

基础环境搭建:

1)所有服务器关闭防火墙、安全策略
systemctl stop firewalld
setenforce 0

2)ssh互信
jenkins主机操作:必须能在所有其他主机登录, git、 harbor、app
ssh-keygen -t rsa
mv /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys
scp -r /root/.ssh/ 192.168.42.5:/root
scp -r /root/.ssh/ 192.168.42.6:/root
scp -r /root/.ssh/ 192.168.42.3:/root

git主机操作:仅需要与Jenkins做ssh互信
ssh-keygen -t rsa
mv /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys
scp -r /root/.ssh/ 192.168.42.4:/root

Git的web需要重新添加key

二、步骤

1、安装harbor

1)解压

将harbor包解压到/usr/local/下

tar -zxf harbor-offline-installer-v1.7.4.tgz -C /usr/local/

2)修改配置文件

vim habor/harbor.yml

hostname: 192.168.42.1
修改域名(由于没有做DNS,所以写IP地址)

3)安装docker-compse工具

重命名
mv docker-compose-Linux-x86_64 docker-compose

移动至系统默认搜索路径
mv docker-compose /usr/local/bin/

增加执行权
chmod +x /usr/local/bin/docker-compose

查看依赖包有无安装
rpm -q yum-utils device-mapper-persistent-data lvm2

4)安装harbor

cd /usr/local/harbor
./install.sh

启动harbor,必须在 /usr/local/harbor目录(因为需要调用此目录的yaml文件)

docker-compose start

5)创建管理用户zhangsan并加入项目仓库web
在这里插入图片描述
在这里插入图片描述

2、安装gitlab
详见Git搭建与基础用法
启动
gitlab-ctl start

3、安装Jenkins
详见Jenkins部署及操作

无需创建jenkins的项目目录(创建项目,执行build,会自动在下面路径生成目录)

/var/lib/jenkins/workspace/web
和Jenkins的item name名称一样(这也是脚本会从git下载的代码存到哪的目录)
在这里插入图片描述
Jenkins手动构建,手动测试脚本

注意:Jenkins、harbor、APP服务器均需要修改docker配置文件,否则,没有权限使用harbor。

1)修改docker配置文件

vim /usr/lib/systemd/system/docker.service
在这里插入图片描述
重启docker
systemctl daemon reload
systemctl restart docker

2)创建脚本

vim /root/auto.sh

#!/bin/bash
WORKDIR=/var/lib/jenkins/workspace/web/
WEB_DIR=/root
cangkuIP=192.168.42.6
#PORT=100
IP=192.168.42.3
TIME=`date +%F-%H-%M-%S`
cd $WORKDIR && tar zcf /tmp/web-${TIME}.tar.gz ./*
scp -rp /tmp/web-${TIME}.tar.gz $cangkuIP:$WEB_DIR
ssh root@$cangkuIP "cd $WEB_DIR && tar xf web-${TIME}.tar.gz"
ssh root@$cangkuIP "cd $WEB_DIR && docker build -t web ."
ssh root@$cangkuIP "cd $WEB_DIR && docker login -u zhangsan -p Harbor12345 192.168.42.6"
ssh root@$cangkuIP "cd $WEB_DIR && docker tag web 192.168.42.6/web/web"
ssh root@$cangkuIP "cd $WEB_DIR && docker push 192.168.42.6/web/web"
ssh root@$IP "cd $WEB_DIR && docker pull 192.168.42.6/web/web"
ssh root@$IP "cd $WEB_DIR && docker tag 192.168.42.6/web/web web"
ssh root@$IP "docker run -dit web /bin/bash"

赋予执行权:
chmod +x /root/auto.sh

3)验证:
查看harbor仓库是否自动上传镜像:
在这里插入图片描述
APP服务器自动运行容器:
在这里插入图片描述

4、关联脚本,自动上传

1)将脚本添加到Jenkins里(省略source code management、build triggers配置)
在这里插入图片描述

在这里插入图片描述
2)在gitlab关联Jenkins(添加钩子)
在这里插入图片描述

3)在gitlab上push代码,测试自动构建上传
在这里插入图片描述
vim /var/lib/jenkins/workspace/web/dockerfile

FROM centos:7
RUN echo 123456 > /tmp/a.txt
CMD /bin/bash

4)验证:
Jenkins无人工干预执行,实现持续交付、部署
在这里插入图片描述
也可看到过程,最后Finished: SUCCESS
在这里插入图片描述
查看APP服务器:
在这里插入图片描述

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-12-09 12:04:23  更:2021-12-09 12:06:25 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 4:21:05-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码