gitlab+jenkins+harbor次完整CI链条

news2025/7/14 14:42:01

用一台机器搭harbor

先安装docker工具,因为装harbor需要docker

[root@harbor ~]# cd /etc/yum.repos.d

[root@harbor yum.repos.d]# wget https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo

[root@harbor yum.repos.d]# sed -i 's#download.docker.com#mirrors.ustc.edu.cn/docker-ce#g' docker-ce.repo  把源的地址修改好

[root@harbor yum.repos.d]# yum makecache  做个缓存

[root@harbor yum.repos.d]# yum -y install docker-ce  安装docker

[root@harbor yum.repos.d]# systemctl enable --now docker  启动docker

把docker-compose拷贝到系统里,我是本地传的

[root@harbor ~]# cd /usr/local/bin/

[root@harbor bin]# wget https://mirrors.hiops.icu/packages/docker-compose-linux-x86_64 --no-check-certificate

[root@harbor bin]# chmod a+x /usr/local/bin/docker-compose-linux-x86_64  加一个执行权限

[root@harbor bin]# ln -s /usr/local/bin/docker-compose-linux-x86_64  /usr/bin/docker-compose

[root@harbor ~]# wget https://mirrors.hiops.icu/packages/harbor-offline-installer-v2.6.1.tgz --no-check-certificate

[root@harbor ~]# tar xf harbor-offline-installer-v2.6.1.tgz -C /usr/local/  解压到usr/local目录中

[root@harbor local]# cd /usr/local/harbor/

生成证书。

[root@harbor ~]# mkdir /usr/local/harbor/certs  创建证书的路径

[root@harbor harbor.gkjt.work]# cp /etc/letsencrypt/archive/harbor.gkjt.work/fullchain1.pem privkey1.pem /usr/local/harbor/certs/
 

 [root@harbor harbor]# mkdir /data/  

[root@harbor harbor]# ./prepare  生成相应的配置文件,下载harbor提前准备好的镜像。

 [root@harbor harbor]# ./install.sh

容器基本上都启动了。

 

 去浏览器访问,登录成功后,先改密码,

  [root@harbor harbor]# docker image ls

 现在将去完成在gitlab,Jenkins,harbor中间整个一套的ci我们是如何实现的。

打开gitlab,Jenkins,这两个都是空环境,

 gitlab,Jenkins,harbor配合起来怎么去实现,比如想搞一个前端的项目,把vue的代码放进去,然后在分不同的分支,在Jenkins里进行项目的打包构建,并且把镜像仓库里的私有镜像传上去(用Jenkins传),这个过程应该怎么去做。

 gitlab,Jenkins,harbor这三个平台如何联动起来

将前端vue的项目放到gitlab里,再让Jenkins去自动的拉取,并且打包成镜像,传送到harbor里。

[root@harbor ~]# git clone https://gitee.com/mirschao/webserver-vue.git  把webserver-vue.git克隆到本地

安装gitlab安装Jenkins

请看前几期作品

再到gitlab中创建一个项目

把 Auto DevOps关掉,占资源

将刚刚克隆的webserver-vue里面的代码上传到frontedvue仓库里,使用ssh的方式,去配置ssh的密钥,

[root@harbor ~]# ssh-keygen生成密钥

[root@harbor ~]# cat ~/.ssh/id_rsa.pub  把公钥放上去

 

 [root@harbor ~]# git clone git@gitlab.gkjt.work:gitlab-instance-df1b92aa/frontedvue.git

现在有webservervue frontedvue 将webservervue里所有的文件放到frontedvue

[root@harbor ~]#  mv webserver-vue/* frontedvue/  现在去使用gitadd 给它推送上去,推送之前设置自己本地的信息

[root@harbor frontedvue]# git config --local user.email misr_kai@163.com
[root@harbor frontedvue]# git config --local user.email misr_kai

[root@harbor frontedvue]# git add --all[root@harbor frontedvue]# git commit -m "build test"

[root@harbor frontedvue]# git push

 现在就要调整仓库和Jenkins里面有没有一对一的对应关系,调整Jenkins,在Jenkins中新建项目

 

 【注意】少熬夜,多看书。

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

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

相关文章

HTML做一个个人博客页面(纯html代码)

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

【网页设计】期末大作业html+css (个人生活记录介绍网站)

🎉精彩专栏推荐👇🏻👇🏻👇🏻 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业…

CNC程序管理NC文件版本管理CNC程序生命周期管理NC程序版本管理

CNC程序管理NC文件版本管理CNC程序生命周期管理NC程序版本管理 ROZRZ 数控程序文档流程管理系统能够实现 NC 数控程序文档及流程的管理,且为企业日后能够进行整体生产资料信息的综合管理做好了在程序代码方面的数据准备,提供了更为方便、快捷、安全的系…

Java——后端开发经验总结(持续更新中)

目录 一、判断实体类 二、图片无法正常显示 三、图片路径存储问题 四、xml注释 五、常用快捷键使用 每日三问 重要配置 一、判断实体类 Assert.notNull: 断言某个值是否为空 优点:告别了if判断为空。缺点:场景比较单一,基本…

【JavaSE】继承那些事儿

目录 1. 继承 1.1 为什么要有继承 1.2 何为继承 1.3 继承的语法 1.4 父类成员的访问 1.4.1 子类中访问父类的成员变量 1.4.2 子类中访问父类的成员方法 1.5 super 关键字 1.5.1 super 关键字能让子类访问父类同名成员变量及方法 1.5.2 super 关键字在子类构造方法所起的作用 1…

STC51单片机21——EEPROM测试

STC89C51RC系列单片机内部EEPROM详细地址表: 第一扇区 第二扇区 第三扇区 第四扇区 起始地址 结束地址 起始地址 结束地址 起始地址 结束地址 起始地址 结束地址 2000h 21FFh 22…

node.js的pat/fs/events模块以及磁盘遍历的实现

path模块: 概述: path模块是一个内置模块,他里面内置的相关方法来造作的路径地址 导入path模块: const path require(path) 使用方法: //导入对应的path模块 const pathrequire(path) //相关方法 //1.join方法是将多个相关的地址连接成一个地址 (做路径拼接) let pathStrpath…

2022年下半年系统架构设计师下午真题及答案解析

试题一(25分) 某电子商务公司拟升级其会员与促销管理系统,向用户提供个性化服务,提高用户的粘性。在项目立项之初,公司领导层一致认为本次升级的主要目标是提升会员管理方式的灵活性,由于当前用户规模不大,业务也相对…

2022年数维杯国际大学生数学建模挑战赛开赛公告

各参赛队伍: 为了保证2022年数维杯国际大学生数学建模挑战赛参赛队伍顺利参赛,现将竞赛开赛的相关事项通知如下: 一、时间节点 报名截止时间:北京时间2022年11月17日06:00(周四) 竞赛开始时间&#xff…

大半夜排查bug:竟然是同事把Redis用成这鬼样子,坑了我

首先说下问题现象:内网sandbox环境API持续1周出现应用卡死,所有api无响应现象。 刚开始当测试抱怨环境响应慢的时候 ,我们重启一下应用,应用恢复正常,于是没做处理。但是后来问题出现频率越来越频繁,越来越…

VSCode常用插件

目录1. 简体中文2. git3. 项目文件夹管理4. 文件图标主题5. markdown6. 主题7. Rest API 客户端1. 简体中文 Chinese (Simplified) (简体中文) Language Pack for Visual Studio Code 2. git GitLens — Git supercharged 3. 项目文件夹管理 Project Manager,帮助…

MySQL增删改查语句练习(grade表,student表,subjects表,result表)

目录 问题描述 问题分析 1. 添加操作 2. 修改操作 3. 删除操作 问题实现 1. 添加测试数据 2. 根据题目要求完成crud操作 1. 将地址是西安市的更新为西安科技二路 2. 将S1001的email修改为空的字符串 3. 将第二门课的名字更新为 java基础,课时为60 &#…

基于ssm的固定收益营销系统设计与实现(ERP系统)

项目描述 临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据疫情当下,你想解决的问…

5进程创建FORK

文章目录1. fork函数初识2. fork函数返回值1. fork函数初识 fork函数的作用从已存在的进程中创建一个新的进程,而新进程被称为子进程,原进程称为父进程,我们先看一下当执行fork后会发生什么. 分配新的内存块和内核数据结构给子进程将父进程部分数据结构内容拷贝至子进程添加子…

数据库管理系统

简介 数据库管理系统是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称 DBMS。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。[2] 数据库管理系统是一个能够提供数据录入、修改、查询的数据操作软件&…

MySQL约束和表的复杂查询操作

✨博客主页: 心荣~ ✨系列专栏:【MySQL】 ✨一句短话: 难在坚持,贵在坚持,成在坚持! 文章目录一. 数据库约束1. 数据库常用约束2. not null 约束3. unique约束4. default设置默认值5. primary key约束6. 分库分表下的自增主键7. foreign key约束8. 主键,外键,uniqe运用原理二. …

Android App开发中使用Glide加载网络图片讲解及实战(附源码 简单易懂)

运行有问题或需要源码请点赞关注收藏~~~ 一、使用Glide加载网络图片 对于如何方便快速的显示网络图片,谷歌开发了自己的Glide开源库,同样我们需要在bulid.gradle中引入如下依赖 implementationcom.github.bumptech.glide:glide:4.11.0 Glide用法如下 G…

攻防世界-misc-流量分析1

下载附件,获得一个流量包 wireshark打开 随便选择一个,追踪tcp流 把请求包url解码看看是什么操作 还存在url编码,继续解码 GET /index.php?urlgopher://127.0.0.1:80/_POST /admin.php HTTP/1.1 Host: localhost:80 Connection: close Conte…

SpringBoot+@Validated实现参数验证(非空、类型、范围、格式等)-若依前后端导入Excel数据并校验为例

场景 若依管理系统前后端分离版基于ElementUI和SpringBoot怎样实现Excel导入和导出: 若依管理系统前后端分离版基于ElementUI和SpringBoot怎样实现Excel导入和导出_霸道流氓气质的博客-CSDN博客 SpringBootVue实现excel导入带格式化的时间参数(moment格式化明天日…

使用image-map编写校区平面示意图

一、效果图 先上一波效果图,手机录制 二、项目中用到的图片 呐,最近领导让俺帮某学校做一个校区平面示意图的移动端项目,用到的图片就是这样的,不过这是截的图片,放大后会模糊,项目中真正使用的图片有6…