分享好友 最新动态首页 最新动态分类 切换频道
Gitlab CI 搭建持续集成环境实现Docker自动化部署使用Harbor镜像仓库
2024-12-26 20:24

本文简单介绍了持续集成的概念并着重介绍了如何基于 Gitlab CI 快速构建持续集成环境以及使用Docker实现自动化部署,主要介绍了 Gitlab CI 的基本功能和入门操作流程

Gitlab CI 搭建持续集成环境实现Docker自动化部署使用Harbor镜像仓库

以Ubuntu16.04.4++Gitlab CI+Docker自动化部署SptingBoot项目+搭建Harbor镜像仓库

一. 概念

持续集成(Continuous Integration,简称CI)指的是,频繁地(一天多次)将代码集成到主干。持续集成的好处主要有两个:

持续集成的目的,就是让产品可以快速迭代,同时还能保持高质量。它的核心措施是,代码集成到主干之前,必须通过自动化测试。只要有一个测试用例失败,就不能集成。

二. 开始搭建

1.依赖包安装

执行完成后,邮件配置时选择Internet即可.

2.GitLab安装

2.1官方教程

如果按照官方安装方法, 直接运行下列命令即可.

但按照官方教程安装会非常慢, 推荐使用下列方式, 利用清华源安装.

2.2清华源(推荐)

首先信任GitLab的GPG公钥

接下来打开gitlab-ce.list文本

然后写入如下内容

最后:wq保存退出. 文本写入成功之后, 执行下列命令安装GitLab.

出现以上界面说明安装成功

3.GitLab启动

安装完成之后启动GitLab

打开sshd和postfix服务

最后输入下列命令, 检查GitLab是否成功运行.

4.GitLab配置

4.1更改服务器IP地址

找到下列内容 我这边默认使用80端口 所以我只修改了external_url改为自己服务器地址

注意不要用8082,9090 端口,因为自带工具会用到

修改完后重新启动服务

检查是否正确运行

gitlab的管理

浏览器打开 http://172.17.1.107 wb页面并设置密

密码自定义设置 设置完之后 账号 root 密码 你刚才设置的 登录成功界面

我这边直接创建一个项目进行演示

在项目下面会有git的操作指南教你如何操作

至此,基于Ubuntu 16.04 x64操作系统的GitLab服务器搭建工作就完成了!具体详细教程可以看我这篇文章

3.然后运用maven插件

大概意思为打包时在target下创建lpine-hwlogs文件夹并把Dockerfile文件,打包好的jar包copy到lpine-hwlogs目录下

六.上传GitLab测试

现在我把SpringBoot项目上传到GitLab看下效果

过程就是把项目push到gitlab仓库 现在打开gitlab看下我们的runner有没有执行

已经在执行我写的脚本 maven打包下载依赖等 稍等一会

说我没有权限 才想起来 运行gitlab-runnner的是gitlab-runnner用户

添加gitlab-runner用户 重启docker 然后重试任务

再次查看运行情况

已经搞定

登录服务查看镜像情况以及浏览器服务测试下

打开浏览器访问: http://172.17.1.107:8000/index

搞定!

七. 安装Harbor搭建镜像仓库

官方文档:https://github.com/goharbor/harbor/blob/master/docs/installation_guide.md

1 环境依赖:docker docker-compose

1.1 下载docker:

Ubuntu16 可参考 https://blog.csdn.net/jinking01/article/details/82490688

其它系统可参考:http://www.runoob.com/docker/ubuntu-docker-install.html

我的服务器是在阿里云上,直接运行:

注:

检测安装结果:docker -v

1.2 下载docker-compose

阿里云上:apt-get install docker-compose

官网教程参考:https://docs.docker.com/compose/install/#install-compose

1.2.1 官网解决方案一(Linux):(问题:我遇到问题就是下载速度太慢)

1.2.2 官网解决方案二:用python的pip工具

注:

检测安装情况:

1.3 下载Harbor

官网地址:https://github.com/goharbor/harbor/releases

1.3.1 复制地址,运行wget url:

注:下载速度太慢,可以windows上下载下来然后copy到服务器上 创建 /usr/local/harbor文件夹 然后授权

将下载的包传到服务器解压即可

1.3.2 解压:

2 配置harbor

2.1 修改harbor.cfg

将 hostname的值修改成本机IP,比如198.127.0.1

部分配置含义:

2.2 开始安装:

docker要pull很多东西 等下就好了

发现启动nginx发现报错 我们都知道默认80端口 那需要修改harbor里的nginx的默认端口配置:

第一种:

2.3.1 修改docker-compose.yml

例如 修改80:80 为 81:80

2.3.2修改config.xml,在$publicurl()后增加 :81

2.3.3重新生成配置文件

2.4 启动Harbor:

停止命令

2.4.1 进入Harbor的UI界面

(端口默认是80,nginx如果修改了端口映射(比如上面的81:80),那端口就是81):IP:Port

Eg: 172.17.101:81

Harbor默认用户名:adminHarbor

默认密码:Harbor12345

我之前有做修改为123456

登录成功后

创建一个test项目

既然Harbor搭建完成了 test项目也新建完成了 那我们就需要将docker的镜像上传到我们的私仓里

在我们之前装的docker修改insecure-registry

文件目录:/etc/docker/daemon.json (没有则新建该文件)

然后重启docker:

docker push镜像:
登录Harbor

输入

登录成功后 我们把之前的springboot镜像上传到Harbor

使用镜像源创建一个指定镜像的标签 推送镜像到Harbor

八 查看成果

登录Harbor 查看test项目

完美!然后就可以随意push pull了

本文测试SpringBoot项目源码:

最新文章
韩国非常大度的电影原声到底多厉害?网友:别犹豫,这个OST真的值得单曲循环!
韩国非常大度的电影原声,这个关键词最近频频出现在热搜榜上。有人说,这部电影还没完全看懂,但配乐早已深入灵魂。片中多段配乐将角色的情感展现得淋漓尽致,从低沉到高亢的旋律仿佛将观众带入了另一个世界。特别是一首OST,不仅在影院中
面试被问项目架构是什么样
在软件开发中,项目架构是指软件系统的顶层结构和各个部分之间的关系。它包括组件的分割、接口的定义、数据流和控制流的安排等。良好的项目架构可以提高系统的可维护性、可扩展性和可重用性。本文将通过一个简单的示例来探讨项目架构的基本
男人会惦记黑名单里的女人吗:不会
  男人会惦记黑名单里的女人吗?一般不会,因为男人还爱你就不会拉你进黑名单,也不会删除你,只有真的绝情之人以及你们发生很大的事情导致他对你失去了信任或者爱,所以他拉你进黑名单,他拉黑你就是不想和你纠缠下去了,所以他暂时不会
鲁山县背孜乡人大:聚焦中草药产业发展 助农带农跑出增收“加速度”
  河南省人大融媒体中心讯(记者 贺志泉 通讯员 武乐乐)春耕时节,鲁山县背孜乡中草药产业人大代表联络站的驻站代表们纷纷在田间地头忙碌着。在该乡郜沟村的丹参育苗基地里,代表联络站站长张红杰正在指导群众如何移苗栽种。  鲁山县
萨摩耶云科技集团林建明:ChatGPT推动模型迈向超级决策智能阶段
  “我们面临的是对社会的彻底重新定义,以及人类即将过时。”美国学者、专栏作家弗兰克,深入研究ChatGPT后发出了深深地感叹。2022年春节档电影《流浪地球2》为亿万观众奉上了一场科幻盛宴。“MOSS,人类能活下来吗?”电影中刘培强与具
达龙云电脑 手机版v5.9.9.2
《达龙云电脑手机版》是一款功能强大的云端电脑软件,采用最新的互联网技术,让用户们可以通过手机实时控制线上云端电脑,只要插上鼠标和键盘,就能体验各种pd端大型游戏,还等什么赶紧下载体验吧。云端电脑采用超高配置海量大型游戏免费体
网站的外链seo策略有哪些
说到网址的外链,大家肯定都不生疏,那么网站的外链seo策略有哪些呢?其实外链的优化对策方法有非凡多。因为要害词的数量可能会达到几千个、甚至几万个,不仅麻烦,而且效果也不明显。因此,可根据账户的计划维度、时段维度、地区维度、计
美女
技术驱动娱乐-弹幕式互动直播平台【近期热点】2024CFS世界赛:一场汇聚全球电竞战队的盛宴,即将在中国杭州震撼上演!从预选赛到总决赛,每一场都是极限突破,每一支战队都在书写电竞传奇。从欧洲区的SSV_AVIN到巴西区的Goken,从越南赛区
法老王:新纪元 Pharaoh: A New Era MAC游戏 苹果电脑游戏
法老王:新纪元 Pharaoh: A New Era MAC游戏 苹果电脑游戏 适配系统15 英文名称:Pharaoh: A New Era编号:936类型:模拟经营大小:3.04 Gb————————————————————-支持:macOS 15.0 Sequoia(不确定自己系统版本的,详
微信视频号怎么用图片制作视频?视频号图片视频制作一键成片教程
我们看到很多人用图片来做成短视频发到视频号,他们都是怎么操作的呢?其实,只要你学会使用视频号的一键成片,几秒钟就能把图片制作成视频发布。具体操作流程如下:1、打开手机微信,点击右下角的“我” 点击“视频号” 点击【发表视频】
相关文章
推荐文章
发表评论
0评