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: gitlabimage: gitlab/gitlab-ce:14.1.8-ce.0restart: alwaysenvironment:TZ: Asia/ShanghaiGITLAB_OMNIBUS_CONFIG: |external_url 'http://192.168.1.241'                 #WEB站点URLgitlab_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'] = truegitlab_rails['smtp_tls'] = truegitlab_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: alwaysimage: jenkins/jenkins:ltscontainer_name: jenkinsuser: rootprivileged: trueenvironment:- TZ=Asia/Shanghaiports:- '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: 100max_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

在这里插入图片描述

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

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

相关文章

设计数据库之内部模式:SQL基本操作

Chapter4:设计数据库之内部模式:SQL基本操作 笔记来源: 1.《漫画数据库》—科学出版社 2.SQL | DDL, DQL, DML, DCL and TCL Commands 设计数据库的步骤: 概念模式 概念模式(conceptual schema)是指将现实世界模型化的阶段进而&…

【网站项目】295商业辅助决策系统

🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板&#xff…

opencv 傅里叶变换(低通滤波 + 高通滤波)

文章目录 1、傅里叶变换2、通过numpy实现3、高通滤波器5、通过opencv实现傅里叶变换6、低通滤波器7、C实现傅里叶变换 1、傅里叶变换 时域分析:以时间作为参照物,世间万物都是随着时间变化而变化,并且不会停止 频域分析:认为世间万…

使用PDFBox调整PDF每页格式

目录 一、内容没有图片 二、内容有图片 maven依赖&#xff0c;这里使用的是pdfbox的2.0.30版本 <dependency><groupId>org.apache.pdfbox</groupId><artifactId>pdfbox</artifactId><version>2.0.30</version></dependency>…

【Android】【Bluetooth Stack】蓝牙电话协议分析(超详细)

1. 精讲蓝牙协议栈&#xff08;Bluetooth Stack&#xff09;&#xff1a;SPP/A2DP/AVRCP/HFP/PBAP/IAP2/HID/MAP/OPP/PAN/GATTC/GATTS/HOGP等协议理论 2. 欢迎大家关注和订阅&#xff0c;【蓝牙协议栈】和【Android Bluetooth Stack】专栏会持续更新中.....敬请期待&#xff01…

VS Code 跳板机登录服务器(手打密码+秘钥登录)

目录 0.为什么要用跳班机登陆服务器&#xff1f; 1.VS Code插件安装及ssh安装 2.密码链接方式 1&#xff09;添加ssh设置&#xff0c;设置主机 2)设置跳板机 Tips:可以直接通过窗口连接文件管理 3.密钥连接方式&#xff08;更安全更方便&#xff09; 1&#xff09;mac版…

C# 对App.config、Web.config的appSettings节点数据进行加密

appSettings加密原因&#xff0c;就是因为容易暴露服务器账号和密码&#xff0c;而且客户也不允许 使用ASP.NET提供的命令工具aspnet_regiis来创建加密命令&#xff1b;aspnet_regiis是提供了直接对配置文件加密的功能的&#xff1b;并且使用aspnet_regiis加密的配置节点在读取…

部署Zabbix Agents添加使能监测服务器_Linux平台_Yum源/Archive多模式

Linux平台 一、从yum源脚本安装部署Zabbix-Agent,添加Linux Servers/PC 概述 Zabbix 主要有以下几个组件组成: Zabbix Server:Zabbix 服务端,Zabbix的核心组件,它负责接收监控数据并触发告警,还负责将监控数据持久化到数据库中。 Zabbix Agent:Zabbix客户端,部署在被监…

使用C语言采用概率分析与随机算法求解特征序列长度下界-以抛硬币问题为例

使用C语言采用概率分析与随机算法求解特征序列长度下界 总结 在概率论与随机算法的研究中&#xff0c;我们经常遇到需要求解某类特定事件发生的概率问题。特别是在处理大量独立随机试验时&#xff0c;如何准确评估某类特殊事件&#xff08;如连续正面特征序列&#xff09;出现的…

asp.net mvc 重新引导视图路径,改变视图路径

asp.net mvc 重新引导视图路径&#xff0c;改变视图路径 使用指定的控制器上下文和母版视图名称来查找指定的视图 通过本文学习&#xff0c;你可以根据该技法&#xff0c;去实现&#xff0c;站点自定义皮肤&#xff0c;手机站和电脑站&#xff0c;其他设备站点&#xff0c;在不…

Python核心编程 --- 高级数据类型

Python核心编程 — 高级数据类型 字符串 列表 元组 字典 1.序列 序列&#xff1a;一组按顺序排列的数据集合。 在Python中存在三种内置的序列类型&#xff1a;字符串、列表、元组 优点&#xff1a;可支持索引和切片操作 特点&#xff1a;第一个正索引为0&#xff0c;指…

基于python+vue学生作业管理系统flask-django-nodejs-php

快速发展的社会中&#xff0c;人们的生活水平都在提高&#xff0c;生活节奏也在逐渐加快。为了节省时间和提高工作效率&#xff0c;越来越多的人选择利用互联网进行线上打理各种事务&#xff0c;然后线上管理系统也就相继涌现。与此同时&#xff0c;人们开始接受方便的生活方式…

【深度学习】基于机器学习的无机钙钛矿材料形成能预测,预测形成能,神经网络,回归问题

文章目录 任务分析数据处理处理离散数值处理缺失值处理不同范围的数据其他注意事项 我们的数据处理模型训练网页web代码、指导 任务分析 简单来说&#xff0c;就是一行就是一个样本&#xff0c;要用绿色的9个数值&#xff0c;预测出红色的那1个数值。 数据处理 在进行深度数…

浅析ArcGis中的软件——ArcMap、ArcScene、 ArcGlobe、ArcCatalog

为什么要写这么一篇介绍ArcGis的文章呢&#xff1f;因为大部分人也包括ArcGisdada&#xff0c;在使用ArcMap应用程序创建工程时总以为我们就是使用了ArcGis这个软件的所有。其实不然&#xff0c;在后期的接触和使用中慢慢发现原来ArcMap只是ArcGis这个综合平台的一部分&#xf…

现在阿里云云服务器租用多少钱?一张表,报价单

2024年阿里云服务器优惠价格表&#xff0c;一张表整理阿里云服务器最新报价&#xff0c;阿里云服务器网整理云服务器ECS和轻量应用服务器详细CPU内存、公网带宽和系统盘详细配置报价单&#xff0c;大家也可以直接移步到阿里云CLUB中心查看 aliyun.club 当前最新的云服务器优惠券…

<c语言学习>结构体

结构体类型 为什么要有结构体 我们用c语言描述年龄时候&#xff0c;可以定义一个整形类型来实现&#xff1a; int age; age 18; printf("年龄为%d",age); (c语言描述年龄) 由于年龄这一属性比较单一&#xff0c;类似性别、某游戏角色攻击力、血量都可以用c语言内置…

string类详解及重要函数实现

&#x1fa90;&#x1fa90;&#x1fa90;欢迎来到程序员餐厅&#x1f4ab;&#x1f4ab;&#x1f4ab; 今日主菜&#xff1a;string类 主厨&#xff1a;邪王真眼 所属专栏&#xff1a;c专栏 主厨的主页&#xff1a;Chef‘s blog 前言&#xff1a; 咱们之前也是…

第十三届蓝桥杯物联网试题(省赛)

做后感悟&#xff1a; OLED显示函数需要一直显示&#xff0c;所以在主函数中要一直循环&#xff0c;为了确保这个检错功能error只输出一次&#xff0c;最好用中断串口进行接收数据&#xff0c;数据收完后自动进入中断函数中&#xff0c;做一次数据检查就好了&#xff0c;该开灯…

银行数字人民币系统应用架构设计

2019年10月&#xff0c;01区块链联合数字资产研究院发布了《人民币3.0&#xff1a;中国央行数字货币运行框架与技术解析》&#xff0c;从数字货币界定和人民币发展历程出发&#xff0c;区分了央行数字货币与比特币、移动支付等的区别&#xff0c;全面介绍了央行数字货币的发展历…

Linux设备驱动开发 - 三色LED呼吸灯分析

By: fulinux E-mail: fulinux@sina.com Blog: https://blog.csdn.net/fulinus 喜欢的盆友欢迎点赞和订阅! 你的喜欢就是我写作的动力! 目录 展锐UIS7885呼吸灯介绍呼吸灯调试方法亮蓝灯亮红灯亮绿灯展锐UIS7885呼吸灯DTS配置ump9620 PMIC驱动ump9620中的LED呼吸灯驱动LED的tr…