构建gitlab远端服务器(check->build->test->deploy)

系列文章目录

提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
TODO:写完再整理

文章目录

  • 系列文章目录
  • 前言
  • 构建gitlab远端服务器
    • 一、步骤一:搭建gitlab的运行服务器【运维】
      • 1. 第一步:硬件服务器准备工作
        • (1)选择合适的硬件和操作系统linux
        • (2)安装必要的依赖项
      • 2.第二步: 在服务器安装和配置docker&GitLab
        • (1)安装和配置docker
        • (2)准备一个用来完成stage的镜像image,预先拉取相关镜像
        • (3)通过脚本添加GitLab仓库并安装
        • (4)配置文件和环境变量
      • 3. 第三步:启动和测试GitLab服务
      • 4. 第四步:高级配置和定制化
      • 5. 第五步:维护和监控
    • 二、步骤二:jobs脚本文件编写&运行【执行脚本任务】
    • 三、步骤三:gitlab的cicd的软件部署【技术管理】
      • 1. 第一步:GitLab的CI/CD基本概念和工作流程
      • 2 .第二步: 创建和使用`.gitlab-ci.yml`文件,实现Pipelines管线集成
        • (1)分阶段定义任务
        • (2)任务配置
        • (3)语法规则&关键字
          • stages关键字(CICD阶段)
          • images关键字(运行环境)
          • before_script和after_script关键字
          • tags关键字
          • only和except关键字
          • allow_failure关键字
          • 【可选】artifacts关键字
          • 【可选】cache关键字
          • 【可选】services关键字
        • (4)Pipelines管线集成工作流配置方法
          • Basic
          • Directed Acyclic Graph(DAG)
          • Child / Parent
        • (5)仅仅编译build与scan(cppcheck)示例
        • (6)官方yaml文件demo模板
      • 3.第三步: 注册并配置GitLab Runner来行CI/CD任务
      • 4.第四步:查看&调试pipelines jobs的运行过程
        • setting->CICD->Variables 自定义变量
      • 5. 第五步:部署到生产环境,如果出现问题回滚
      • 使用Auto DevOps提供预定义的CI/CD配置进行快速部署
  • 构建gitlab本地服务器
  • 参考连接


前言

认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!

在这里插入图片描述

Continuous Integration(持续集成)
假设一个应用程序,其代码存储在GitLab的Git仓库中。开发人员每天都要多次推送代码更改。对于每次向仓库的推送,你都可以创建一组脚本来自动构建和测试你的应用程序,从而减少了向应用程序引入错误的机会。这种做法称为持续集成,对于提交给应用程序(甚至是开发分支)的每项更改,它都会自动连续进行构建和测试,以确保所引入的更改通过你为应用程序建立的所有测试,准则和代码合规性标准。

Continuous Delivery(持续交付)
持续交付是超越持续集成的更进一步的操作。应用程序不仅会在推送到代码库的每次代码更改时进行构建和测试,而且,尽管部署是手动触发的,但作为一个附加步骤,它也可以连续部署。此方法可确保自动检查代码,但需要人工干预才能从策略上手动触发以必输此次变

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

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

相关文章

k8s集群 安装配置 Prometheus+grafana+alertmanager

k8s集群 安装配置 Prometheusgrafanaalertmanager k8s环境如下:机器规划: node-exporter组件安装和配置安装node-exporter通过node-exporter采集数据显示192.168.40.180主机cpu的使用情况显示192.168.40.180主机负载使用情况 Prometheus server安装和配置…

CentOS 7 安装MySQL 5.7.30

CentOS 7 安装MySQL卸载(离线安装) 安装配置MySQL之前先查询是否存在,如存在先卸载再安装 rpm -qa|grep -i mysql rpm -qa|grep -i mariadb rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64如下命令找到直接 rm -rf 删除(删除…

电脑系统重装数据被格式化,那些文件还有办法恢复吗?

在日常使用电脑的过程中,系统重装或格式化操作是常见的维护手段,尤其是在遇到系统崩溃、病毒感染或需要升级系统时。然而,这一操作往往伴随着数据丢失的风险,尤其是当C盘(系统盘)和D盘(或其他数…

数学建模(1)

论文:做流程图 论文查重不能高于30% 论文 分模块备战 摘要不能超过一页的四分之三 数学建模的六个步骤: 【写作】---学术语言 团队练题

docker搭建普罗米修斯监控gpu

ip8的服务器监控ip110和ip111的服务器 被监控的服务器110和111只需要安装node-export和nvidia-container-toolkit 下载镜像包 docker pull prom/node-exporter docker pull prom/prometheus docker pull grafana/grafana新建目录 mkdir /opt/prometheus cd /opt/prometheus/…

用了6年git,不知道cherry-pick是啥意思

背景 可能是测试开发角色原因,平时很少有代码冲突或多人协同的编码场景。今天有个协同项目,需要提交自己的代码到其它业务的代码库中,这个代码库是分支开发分支上线模式,同时会有多个同事提交代码,然后模块负责的同学…

【python】多种回归算法对比气温预测

目录 引言 决策树回归(Decision Tree Regression) 线性回归(Linear Regression) 随机森林回归(Random Forest Regression) 气温预测对比实例 数据集 预测值与实际值对比图 模型评价指标 代码实现 …

微信小程序 vant-weapp的 SwipeCell 滑动单元格 van-swipe-cell 滑动单元格不显示 和 样式问题 滑动后删除样式不显示

在微信小程序开发过程中 遇到个坑 此处引用 swipeCell 组件 刚开始是组件不显示 然后又遇到样式不生效 首先排除问题 是否在.json文件中引入了组件 {"usingComponents": {"van-swipe-cell": "vant/weapp/swipe-cell/index","van-cell-gro…

【JavaEE】synchronized原理详解

本文使用的是JDK1.8 目录 引言 Java对象在JVM的结构 对象头 Mark Word Monitor Owner EntryList WaitSet 加锁过程 锁消除 偏向锁 偏向锁使用 重偏向 撤销偏向 轻量级锁 重量级锁 自旋优化 引言 对于synchronized原理讲解之前,我们需要知道Java对象…

FATE Flow 源码解析 - 日志输出机制

背景介绍 在 之前的文章 中介绍了 FATE 的作业处理流程,在实际的使用过程中,为了查找执行中的异常,需要借助运行生成的日志,但是 FATE-Flow 包含的流程比较复杂,对应的日志也很多,而且分散在不同的文件中&…

转移C盘中的conda环境(包括.condarc文件修改,environment.txt文件修改,conda报错)

conda环境一般是默认安装到C盘的,若建立多个虚拟环境,时间长了,容易让本不富裕的C盘更加雪上加霜,下面给出将conda环境从C盘转移到D盘的方法。 目录 电脑软硬件转移方法查看当前conda目录转移操作第一步:.condarc文件修…

走进NoSql

一、引入 1.1什么是NoSql NoSQL(Not Only SQL)是一组非关系型数据库(或称为非SQL数据库)的统称,它们提供了与传统的关系型数据库不同的数据存储和检索方式。NoSQL数据库通常用于处理大量的、分布式的、非结构化或半结…

美式键盘 QWERTY 布局的来历

注:机翻,未校对。 The QWERTY Keyboard Is Tech’s Biggest Unsolved Mystery QWERTY 键盘是科技界最大的未解之谜 It’s on your computer keyboard and your smartphone screen: QWERTY, the first six letters of the top row of the standard keybo…

数据湖表格式 Hudi/Iceberg/DeltaLake/Paimon TPCDS 性能对比(Spark 引擎)

当前,业界流行的集中数据湖表格式 Hudi/Iceberg/DeltaLake,和最近出现并且在国内比较火的 Paimon。我们现在看到的很多是针对流处理场景的读写性能测试,那么本篇文章我们将回归到大数据最基础的场景,对海量数据的批处理查询。本文…

dp or 数学问题

看一下数据量&#xff0c;只有一千&#xff0c;说明这个不是数学问题 #include<bits/stdc.h> using namespace std;#define int long long const int mo 100000007; int n, s, a, b; const int N 1005;// 2 -3 // 1 3 5 2 -1 // 1 -2 -5 -3 -1 int dp[N][N]; int fun…

泛微Ecology8明细表对主表赋值

文章目录 [toc]1.需求及效果1.1 需求1.2 效果2.思路与实现3.结语 1.需求及效果 1.1 需求 在明细表中的项目经理&#xff0c;可以将值赋值给主表中的项目经理来作为审批人员 1.2 效果 在申请人保存或者提交后将明细表中的人名赋值给主表中对应的值2.思路与实现 在通过js测…

生成树(STP)协议

一、生成树的技术背景 1、交换机单线路上链,存在单点故障,上行线路及设备都不具备冗余性,一旦链路或上行设备发生故障,网络将面临断网。 总结:以下网络不够健壮,不具备冗余性。 2、因此引入如下网络拓扑结构: 上述冗余拓扑能够解决单点故障问题,但同时冗拓扑也带来了…

zookeeper基础知识学习

官网&#xff1a;Apache ZooKeeper 下载地址&#xff1a;Index of /dist/zookeeper/zookeeper-3.5.7Index of /dist/zookeeperIndex of /dist/zookeeper/zookeeper-3.5.7 ZK配置参数说明&#xff1a; 1、tickTime2000&#xff1a;通讯心跳时间&#xff0c;zookeeper服务器与客…

连锁直营店小程序赋能多店如何管理

如商超便利店卖货线下场景&#xff0c;也有不少品牌以同城多店和多地开店经营为主&#xff0c;获取店铺周围客户和散流&#xff0c;如今线上重要性凸显&#xff0c;品牌电商发展是经营的重要方式之一&#xff0c;也是完善同城和外地客户随时便捷消费的方式之一。 多个门店管理…

Python | Leetcode Python题解之第238题除自身以外数组的乘积

题目&#xff1a; 题解&#xff1a; class Solution:def productExceptSelf(self, nums: List[int]) -> List[int]:length len(nums)# L 和 R 分别表示左右两侧的乘积列表L, R, answer [0]*length, [0]*length, [0]*length# L[i] 为索引 i 左侧所有元素的乘积# 对于索引为…