CI/CD环境搭建

服务简介

  • Gitlab
    官网:https://about.gitlab.com/

GitLab
是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。安装方法是参考GitLab在GitHub上的Wiki页面。Gitlab是被广泛使用的基于git的开源代码管理平台,基于Ruby on Rails构建, 主要针对软件开发过程中产生的代码和文档进行管理,Gitlab主要针对group和project两个维度进行代码和文档管理, 其中group是群组, project是工程项目, 一个group可以管理多个project, 可以理解为一个群组中有多项软件开发任务, 而一个project中可能包含多个branch,意为每个项目中有多个分支, 分支间相互独立, 不同分支可以进行归并

  • Jenkins
    官网:https://www.jenkins.io/
    中文文档:https://www.jenkins.io/zh/doc/

Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。
Jenkins 支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序。

  • harbor
    官网:https://goharbor.io/

Harbor 是一个开源的镜像仓库服务,用于容器镜像、Helm Chart 等符合 OCI 标准的 Artifact 的安全托管及高效分发,能够帮助您跨云原生计算平台(如 Kubernetes 和 Docker)一致且安全地管理 Artifact。

QingCloud Harbor 镜像仓库将 Harbor 制作成了 App,能直接在 AppCenter 进行一键部署,并提供了一个高可用、高安全、高性能的解决方案。

部署安装

Gitlab

rpm源:https://packages.gitlab.com/gitlab/gitlab-ce
1.创建部署目录及YAML

mkdir /data/gitlab
vim /data/gitlab/docker-compose-gitlab.yml
version: "3.6"
services:
  gitlab:
    container_name: gitlab
    image: gitlab/gitlab-ce:14.1.8-ce.0
    restart: always
    environment:
      TZ: Asia/Shanghai
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://192.168.1.241'                 #WEB站点URL
        gitlab_rails['time_zone'] = 'Asia/Shanghai'          #时区
        gitlab_rails['smtp_enable'] = true                   #开启邮件服务
        gitlab_rails['smtp_address'] = "smtp.qq.com"      #设置邮件服务器地址
        gitlab_rails['smtp_port'] = 465                      #邮箱服务器端口
        gitlab_rails['smtp_user_name'] = "xxx@qq.com"  #发件邮箱
        gitlab_rails['smtp_password'] = "xxxxxxxxxx"      #发件邮箱密码
        gitlab_rails['smtp_authentication'] = "login"
        gitlab_rails['smtp_enable_starttls_auto'] = true
        gitlab_rails['smtp_tls'] = true
        gitlab_rails['gitlab_email_from'] = 'xxx@qq.com'      #发件邮箱
    ports:
      - "181:80"
      - "122:22"
      - "1443:443"
    volumes:
      - ./data:/var/opt/gitlab
      - ./logs:/var/log/gitlab
      - ./config:/etc/gitlab

2.启动gitlab(需要初始化 启动会有点慢)

docker-compose -f docker-compose-gitlab.yml up -d

3.访问后台管理页面(初始root密码在config目录initial_root_password)

#查看root初始密码
cat /data/gitlab/config/initial_root_password
#登录后台
http://192.168.1.141:181

在这里插入图片描述

jenkins

下载地址:https://www.jenkins.io/download/

1.创建部署目录

mkdir /data/jenkins

2.创建docker-compose文件

vim /data/jenkins/docker-compose-jenkins.yml
version: '3'
services:
  jenkins:
    restart: always
    image: jenkins/jenkins:lts
    container_name: jenkins
    user: root
    privileged: true
    environment:
      - TZ=Asia/Shanghai
    ports:
      - '8080:8080'
      - '50000:50000'
    volumes:
      - /data/jenkins/jenkins_data/:/var/jenkins_home
      - /var/run/docker.sock:/var/run/docker.sock
      - /usr/bin/docker:/usr/bin/docker

3.启动jenkins

docker-compose -f docker-compose-jenkins.yml up -d

4.访问管理后台

http://IP:port

admin初始密码文件位置: /data/jenkins/jenkins_data/secrets/initialAdminPassword
在这里插入图片描述
在这里插入图片描述

harbor(离线安装包-v2.5.6)

官网:https://github.com/goharbor/harbor

注意: 安装时需关注对应版本的前置要求【服务器配置,docker版本,docker-compose版本等。】

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

1.下载离线安装包

mkdir /data/harbor/src
cd /data/harbor/src
wget https://github.com/goharbor/harbor/releases/download/v2.5.6/harbor-offline-installer-v2.5.6.tgz

2.解压离线安装包

cd /data/harbor/src
tar zxf harbor-offline-installer-v2.5.6.tgz
cd /data/harbor/src/habor

3.修改配置文件

cp harbor.yml.tmpl harbor.yml
vim harbor.yml
hostname: 192.168.1.241       			#本机IP或者域名
http:
  port: 80                    			#http端口
https:
  port: 443                   			#https端口,如果不需要注释掉此部分即可
  certificate: /your/certificate/path   #ssl证书位置,本地目录绝对路径
  private_key: /your/private/key/path
harbor_admin_password: 123456 			#后台admin初始密码
database:
  password: 123456                      #设置数据库初始密码
  max_idle_conns: 100
  max_open_conns: 900
data_volume: /data/harbor/data			#数据目录位置(本地目录绝对路径)
# Log configurations
log:
  level: info 							#日志级别
  local:
    rotate_count: 50					#日志文件个数
    rotate_size: 200M					#单个日志大小
    location: /var/log/harbor			#日志位置
###########其余配置保持默认即可

4.执行安装,等待安装完成即可

cd /data/harbor/src/habor
./install

无报错打印successfully即安装完成
在这里插入图片描述
5.访问后台管理界面(创建用户,创建项目,用户授权)

http://IP:Port

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2024阿里云服务器99计划优惠活动_开年采购季优惠价格表

2024阿里云开年采购活动3月优惠,99计划云服务器99元一年、免费领取上云扶持优惠券,不只是云服务器、云数据库、存储、云电脑、域名等均有活动,阿里云服务器网aliyunfuwuqi.com整理阿里云开年采购上云无忧活动入口、优惠价格表和优惠券领取详细…

unbantu Apache的基本配置与配置静态资源访问

目录 前言: 1.Apache介绍 2.安装Apache 3. 测试Apache服务是否启动成功 3.1配置Servername 3.2重启服务 4.配置Apache主页面 5. 配置静态的资源 6.为静态资源设置访问权限(基于源地址) 致谢: 前言: 此博客是基于unbantu的Apache服务的详细解析,在这片博…

QPainter绘图和QChart图表和QCustomplot绘曲线图

一,QPainter绘图 Qt里的所有绘图,比如一个按钮和一个Label的显示,都有绘图系统来执行。绘图系统基于 QPainter、QPaintDevice和QPainEngine类。QPainter是可以直接用来操作绘图的类,而 QPaintDevice和QPainEngine都比QPainter更底…

TCP | TCP协议格式 | 三次握手

1.TCP协议 为什么需要 TCP 协议 ?TCP 工作在哪一层? IP网络层是不可靠的,TCP工作在传输层,保证数据传输的可靠性。 TCP全称为 “传输控制协议(Transmission Control Protocol”)。 TCP 是面向连接的、可靠…

DBO优化高斯回归预测(matlab代码)

DBO-高斯回归预测matlab代码 蜣螂优化算法(Dung Beetle Optimizer, DBO)是一种新型的群智能优化算法,在2022年底提出,主要是受蜣螂的的滚球、跳舞、觅食、偷窃和繁殖行为的启发。 数据为Excel股票预测数据。 数据集划分为训练集、验证集、测试集,比例…

GESP图形化编程四级认证真题 2024年3月

GESP 图形化四级试卷 (满分:100 分 考试时间:120 分钟) 一、单选题(共 10 题,每题 2 分,共 30 分) 1、小杨的父母最近刚刚给他买了一块华为手表,他说手表…

PyTorch深度学习:遥感影像地物分类的高效工具

我国高分辨率对地观测系统重大专项已全面启动,高空间、高光谱、高时间分辨率和宽地面覆盖于一体的全球天空地一体化立体对地观测网逐步形成,将成为保障国家安全的基础性和战略性资源。未来10年全球每天获取的观测数据将超过10PB,遥感大数据时…

JMeter 环境安装及配置

🔥 交流讨论:欢迎加入我们一起学习! 🔥 资源分享:耗时200小时精选的「软件测试」资料包 🔥 教程推荐:火遍全网的《软件测试》教程 📢欢迎点赞 👍 收藏 ⭐留言 &#x1…

图像分类从零开始(1)

尽我所能,总结留给后面的师弟们! 1.目标 搭建一个完整的系统,包括图像数据集预处理,训练模型,分类器,优化器,以及结果数据处理。 2.理论 3.实例(猫狗分类) Gitee代码…

day-24 跳跃游戏 III

思路:dfs方法,从开始节点开始进行深度优先遍历,利用一个数组vis[]记录该位置是否被访问过,如果遍历到一个已经访问的位置,返回false 如果遍历到某位置的值为0,返回true code: class Solution {public boo…

Vulnhub - Raven2

希望和各位大佬一起学习,如果文章内容有错请多多指正,谢谢! 个人博客链接:CH4SER的个人BLOG – Welcome To Ch4sers Blog Raven2 靶机下载地址:https://www.vulnhub.com/entry/raven-2,269/ 0x01 信息收集 Nmap扫描…

力扣算法题之好数对的数目

c语言中的小小白-CSDN博客c语言中的小小白关注算法,c,c语言,贪心算法,链表,mysql,动态规划,后端,线性回归,数据结构,排序算法领域.https://blog.csdn.net/bhbcdxb123?spm1001.2014.3001.5343 给大家分享一句我很喜欢我话: 知不足而奋进,望远山而前行&am…

性能测试的几个重要指标的说明!

在做性能测试过程中有一件很重要的事情需要去完成,那就是分析性能指标数据,可以这样说做性能测试的整个过程都跟指标数据息息相关,下面来说一下常见的一些性能指标数据: 1.吞吐量 2.并发数 3.思考时间 4.响应时间 5.点击数 …

3D模型库免费下载选择哪家比较靠谱?

在选择3D模型库进行免费下载时,靠谱性通常取决于模型的质量、数量、多样性、易用性,以及网站的信誉和安全性。以下是一些比较靠谱的3D模型库免费下载网站: ①建e网:建e网的3D模型库提供了多种分类方式,如风格、场景、物…

手撕LRU 最近最少使用缓存淘汰策略 + LinkedHashMap

LRU 最近最少使用缓存淘汰策略 1 LRU 算法就是一种缓存淘汰策略2 手撕LRU3 LinkedHashMap 常见面试题 1 LRU 算法就是一种缓存淘汰策略 计算机的缓存容量有限,如果缓存满了就要删除一些内容,给新内容腾位置。但问题是,删除哪些内容呢&#x…

权限提升-Windows权限提升篇溢出漏洞宝塔面板BypassCS插件化MSF模块化

知识点 1、Web到Win系统提权-权限差异原因 2、Web到Win系统提权-溢出漏洞(MSF&CS) 3、Web到Win系统提权-集成软件(哥斯拉模块Bypass) 章节点: 1、Web权限提升及转移 2、系统权限提升及转移 3、宿主权限提升及转移…

看完秒懂原来接口测试用例设计这么简单!

什么是接口 接口:服务端程序对外提供的一种统一的访问方式,通常采用 HTTP协议,通过 不同的url,不同的请求类型(GET、POST), 不同的参数,来执行不同的业务逻辑。 客户端大多数的业务…

MySQL关联查询如何优化

好久不见,关于这篇文章,我也是想了很久,还是决定写一篇文章,有很多同学问过 mysql 相关的问题,其实关联查询如何优化,首先我们要知道关联查询的原理是什么? 左连接 left join SELECT 字段列表…

软件测试面试,你准备好了吗?

最近有机会做一些面试工作,主要负责面试软件测试人员招聘的技术面试。 之前一直是应聘者的角色,经历了不少次的面试之后,多少也积累一点面试的经验,现在发生了角色转变。初次的面试就碰到个工作年限比我长的,也没有时…

北斗卫星在公路养护中的应用

北斗卫星在公路养护中的应用 北斗卫星是我国自主研发的一款卫星导航系统,它为公路养护工作提供了新的解决方案。通过使用北斗卫星技术,公路养护部门可以实时获取道路状况,提高工作效率,为交通安全保驾护航。 首先,北斗…