gitlab+jenkins+harbor实现CI/CD(2)——初级

news2025/2/11 8:56:59

文章目录

  • 一、docker git安装
  • 二、jenkins使用步骤
      • 创建项目
      • 在jenkins主机获取密钥
  • 三、实时触发构建
  • 四、整合harbor仓库


一、docker git安装

git安装

yum install -y git

jenkins主机上安装docker-ce

[root@vm6 yum.repos.d]# yum install -y docker-ce
[root@vm6 ~]# systemctl  enable --now docker
配置docker默认仓库
[root@vm6 ~]# vim /etc/docker/daemon.json
{
  "registry-mirrors": ["https://reg.westos.org"]
}

配置仓库证书

[root@vm6 ~]# ls /etc/docker/certs.d/reg.westos.org/ca.crt
/etc/docker/certs.d/reg.westos.org/ca.crt

测试

[root@vm6 docker]# docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
a2abf6c4d29d: Pull complete
a9edb18cadd1: Pull complete
589b7251471a: Pull complete
186b1aaa4aa6: Pull complete
b4df32aa5a72: Pull complete
a0bcbecc962e: Pull complete
Digest: sha256:ee89b00528ff4f02f2405e4ee221743ebc3f8e8dd0bfd5c4c20a2fa2aaa7ede3
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest

二、jenkins使用步骤

创建项目

在这里插入图片描述
创建一个freestyle project

在jenkins主机获取密钥

在gitlab上传公钥
在这里插入图片描述
在jenkins上传私钥
在这里插入图片描述
在这里插入图片描述

vim /etc/ssh/ssh_config
在最后添加
StrictHostKeyChecking no

在这里插入图片描述
输入测试命令后保存
在这里插入图片描述
点击立即构建
在这里插入图片描述
查看控制台输出
在这里插入图片描述
工作路径

/var/lib/jenkins/workspace/docker

构建触发器,定时触发
在这里插入图片描述

三、实时触发构建

安装插件 gitlab和 Cloudbee docker
在这里插入图片描述
在这里插入图片描述
配置gitlab
在这里插入图片描述
在网络设置里
在这里插入图片描述
配置项目触发器
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在jenkins高级里获取token
在这里插入图片描述
在这里插入图片描述
填写在令牌里
在这里插入图片描述

先在jenkins保存,再保存gitlab
在这里插入图片描述
进行测试
在这里插入图片描述
在本地修改上传进行测试

vim index.html
git add index.html
git commit  -m "add index.html"
git push

成功触发

四、整合harbor仓库

确保仓库能使用
在这里插入图片描述
选择Docker构建
在这里插入图片描述
在这里插入图片描述

jenkins主机修改

chmod 777 /var/run/docker.sock

注意
这个地方我遇到重大问题
在这里插入图片描述
应该是无法连接harbor仓库
在jenkins主机执行

docker login reg.westos.org

会在本地生成 /root/.docker文件夹,存放登录密钥。

cp -r /root/.docker/ /var/lib/jenkins/
cd /var/lib/jenkins/
chown -R jenkins.jenkins .docker

理论上这时可以运行,但是还无法成功运行。
在这里插入图片描述
很明显对/var/lib/jenkins/.docker/config.json没有权限,感觉这里需要的不是读取权限,而是x执行权限。
直接

chmod 660 /var/lib/jenkins/.docker/config.json

成功运行。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/640297.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

01-抒写代码之诗:Golang 关键字的文学探索

📃个人主页:个人主页 🔥系列专栏:Golang基础 💬Go(又称Golang)是由Google开发的开源编程语言。它结合了静态类型的安全性和动态语言的灵活性,拥有高效的并发编程能力和简洁的语法。G…

chatgpt赋能python:Python如何开三次方根

Python如何开三次方根 Python是一种强大的编程语言,它被广泛用于数据科学、机器学习、Web开发和自动化等领域。在这篇文章中,我们将介绍如何用Python开三次方根。 什么是三次方根? 三次方根是一个数学术语,表示一个数的立方根。…

《统计学习方法》——条件随机场(上)

引言 这是统计学习方法第十一章条件随机场的阅读笔记,包含所有公式的详细推导。 条件随机场(conditional random field,CRF)是给定一组输入随机变量条件下另一组输出随机变量的条件概率分布模型,其特点是假设输出随机变量构成马尔可夫随机场。 建议先阅…

chatgpt赋能python:Python和SEO:如何通过Python编程获得更好的结果?

Python和SEO:如何通过Python编程获得更好的结果? Python已经成为SEO行业和数字营销领域中的热门工具。Python编程语言可以提高SEO结果,加快啮合速度并获得更好的结果。在本篇文章中,我们将介绍Python编程语言在SEO中的应用&#…

docker容器的介绍

目录 一、docker介绍和安装 官方网站:Docker: Accelerated, Containerized Application Development 下载docker引擎地址:Install Docker Engine | Docker Documentation 安装步骤 1、卸载原来安装过的docker软件,如果没有安装则可以不用…

Spring注解使用

文章目录 前言存储Bean对象① 配置扫描路径 -② 使用注解存储Bean对象Controller(控制器存储) 这里讲一下Spring的调用流程 及 注解的含义getBean里面的命名规则使用⽅法注解:Bean 获取Bean对象1. 属性注⼊属性注入的优缺点 2. 构造⽅法注⼊ (官方推荐)构造方法注入…

【c++】static和const修饰类的成员变量或成员函数

目录 1、静态成员变量 2、静态成员函数 3、常函数 4、常对象 当我们使用c的关键字static修饰类中的成员变量和成员函数的时候,此时的成员变量和成员函数被称为静态成员。 静态成员包含: 静态成员变量静态成员函数 1、静态成员变量 静态成员变量有…

window系统:python3 + auto-py-to-exe 打包playwright为exe,内含独立浏览器

auto-py-to-exe的使用参考一下链接: 链接: python—auto-py-to-exe—.py文件打包成.exe文件最全最详细(用不同的类别做教程) 1、使用auto-py-to-exe打包playwright成exe,运行之后运行一直报错:FileNotFoundError: [Wi…

Java-API简析_java.lang.Character类(基于 Latest JDK)(浅析源码)

【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) https://blog.csdn.net/m0_69908381/article/details/131178778 出自【进步*于辰的博客】 其实我的【Java-API】专栏内的博文对大家来说意义是不大的。…

OJ: Digit Primes

目录 1.题目 2.中文翻译 3.代码 4.代码中部分程序段思路详解 4.1 素数判定高效率代码: ​编辑 4.2 最小的素数是 2 4.3 python中如何计算一个数各个位的和 1.题目 题目描述: A prime number is a positive number, which is divisible by exactly…

chatgpt赋能python:在Python中建立虚拟环境

在Python中建立虚拟环境 在Python编程中,建立虚拟环境是一项非常重要的工作。虚拟环境不仅可以避免不同版本的库之间的冲突,还可以使我们更好地控制项目的依赖关系。在本文中,我们将介绍如何使用Python建立虚拟环境。 第一步:安…

Jmeter参数化方式

前言:什么是参数化? 把测试数据组织起来,用不同的测试数据调用相同的测试方法(实现测试数据跟测试脚本分离)。 一、用户定义的变量: 1、作用:定义全局变量 2、局限性:每次取值都是…

chatgpt赋能python:Python建模型指南

Python建模型指南 Python是一种功能强大的编程语言,以其优雅的语法和丰富的库而闻名。而且,Python也是机器学习、人工智能和数据科学领域的首选语言之一。在本文中,我们将学习Python中如何建模型。 什么是建模? 建模是指使用统…

【MySQL数据库 | 第十七篇】索引以及索引结构介绍

目录 前言: 索引简介: 索引结构: 二叉树索引结构 Tree(普通二叉树) B-Tree(多路平衡查找树) BTree 哈希索引数据结构 总结: 前言: 在实际生活中,我们对SQL语句进行优化实际上有…

Linux,看这篇就够了

Linux 一、为什么要学linux二、目录介绍三、vi / vim编辑器四、网络配置4.1、修改 IP 地址4.2、配置主机名4.2.1、修改主机名称4.2.2、修改 hosts 映射文件 五、系统配置5.1、service 服务管理5.2、systemctl5.3、防火墙5.4、关机重启命令5.5、查看系统内核与版本 六、常用命令…

一分钟学一个 Linux 命令 - cat 和 tail

前言 大家好,我是 god23bin。今天我给大家带来的是 Linux 命令系列,每天只需一分钟,记住一个 Linux 命令不成问题。今天,需要你花费两分钟时间,因为我们要介绍的是两个常用的查看文件内容的命令:cat 和 ta…

动态规划-背包问题(三)

动态规划-背包问题(三) 1 描述2 样例2.1 样例 1:2.2 样例 2: 3 算法解题思路以及实现方法3.1 算法解题思路3.1.1 确定状态3.1.2 转移方程3.1.3 初始条件以及边界情况3.1.4 计算顺序 3.2 算法实现3.2.1 java实现的O(MN)算法复杂度3.2.2 C实现的O(MN)算法复…

Lua基本语法

目录 1 lua基础数据结构 2 Lua 变量 3 Lua 循环 3.1 Lua while 循环 3.2 Lua for 循环 数值for循环 泛型for循环 3.3 Lua repeat...until 循环 3.4 Lua 循环嵌套 3.5 循环控制语句 Lua break 语句 Lua goto 语句 4 Lua 流程控制 4.1 Lua if 语句 4.2 Lua if...else 语…

04-编织灵魂旋律:Golang 函数的魔力绽放

📃个人主页:个人主页 🔥系列专栏:Golang基础 💬Go(又称Golang)是由Google开发的开源编程语言。它结合了静态类型的安全性和动态语言的灵活性,拥有高效的并发编程能力和简洁的语法。G…

常见网络设备及其功能

1.常见网络设备及其功能 笔记来源: Computer network components and their functions 设备工作所在层隔离冲突域隔离广播域路由器(Router)网络层√√网桥(Bridge)数据链路层√交换机(Switch)数据链路层√中继器(Repeater)物理层集线器(Hub)物理层 1.1 路由器&…