DevOps利器之二(Git,Gitlab)

news/2023/5/28 8:25:39

一、背景

Git,Gitlab在DevOps中主要解决持续集成源码管控部分,本文主要从基本概念,实施部署两部分介绍。

二、git概述

https://git-scm.com/book/zh/v2 --推荐官方电子书

Git - 它是一个源代码分布式版本控制系统,可让开发人员在本地跟踪更改并从远程资源推送或提取更改。下图为核心操作流程。

git优势:

  • 本地有完整的仓库,及时无网络也不会影响工作;

  • 遇到问题回退版本容易,出问题开发将本地代码回退到出问题之前进行提交,谁出问题谁解决,不影响其他人,而类似SVN的工具一个人员出错提交代码往往会影响整个组人员;

  • 轻量的分支开销鼓励大量被使用,为了敏捷的迭代,如果有想法就分支,那么在svn上分支是海量的并且全局的大家互相影响,因此是要命的。而对于git同样的分支数量,但是每个人的分支都在自己的仓库内,不会影响到他人。且分支无需连接服务器,因此是飞速的。

综上所述我们团队选择用git进行源码管理。

三、git安装

官网下载https://git-scm.com/ ,一直下一步

点击Git Bash Here打开Git终端:

四、IDEA集成Git

1、设置git.exe

2、本地库的初始化操作:

3、本地库初始化完成了,生成了.git目录:

4、添加到暂存区,再提交到本地库操作; add +commit:

5、代码推向远程库

6、使用IDEA克隆远程库到本地

克隆到本地后,这个目录既变成了一个本地仓库,又变成了工作空间。

7、解决冲突

在你push以后,有冲突的时候提示合并操作:

8、如何避免冲突

【1】团队开发的时候避免在一个文件中改代码

【2】在修改一个文件前,在push之前,先pull操作

五、GitLab概述

GitLab是一种类似github的服务,组织可以使用它来提供git存储库的内部管理。 它是一个自我托管的Git-repository管理系统,可以保持用户代码的私密性,并且可以轻松地部署代码的更改。

  • GitLab免费托管您的(私人)软件项目。

  • GitLab是管理Git存储库的平台。

  • GitLab提供免费的公共和私人存储库,问题跟踪和维基。

  • GitLab是Git之上的一个用户友好的Web界面层,它提高了使用Git的速度。

  • GitLab提供了自己的持续集成(CI)系统来管理项目,并提供用户界面以及GitLab的其他功能。

六、Docker安装GitLab

docker安装参照:https://blog.csdn.net/heijunwei/article/details/128706198?spm=1001.2014.3001.5501

1、查看GitLab镜像

docker search gitlab

2、拉取GitLab镜像

docker pull gitlab/gitlab-ce

3、准备docker-compose.yml文件

 cd /usr/local/docker/gitlib_docker --目录随意,这是我的目录
version: '3.9'
services:gitlab:image: 'gitlab/gitlab-ce:latest'container_name: gitlabrestart: alwaysenvironment:GITLAB_OMNIBUS_CONFIG: |external_url 'http://ip:post'gitlab_rails['gitlab_shell_ssh_port'] = 2224ports:- 'post:post'- '2224:2224'volumes:- './config:/etc/gitlab'- './logs:/var/log/gitlab'- './data:/var/opt/gitlab'

4、启动容器(……)

 docker compose up -d

访问GitLab首页

5、查看root用户密码并登陆

docker exec -it gitlab cat /etc/gitlab/initial_root_password

6、修改密码

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

如若内容造成侵权/违法违规/事实不符,请联系郑州代理记账网进行投诉反馈,一经查实,立即删除!

相关文章

锂离子电池正极材料(x酸锂类,三元锂NCM,NCA)与负极材料 碳负极?

锂离子电池以含锂的化合物作正极,以碳素材料为负极。 锂电池的正极材料有钴酸锂LiCoO2 、锰酸锂Li2MnO4、磷酸铁锂、三元材料NCM镍钴锰NiCoMn、三元材料NCA镍钴铝NiCoAl,加导电剂和粘合剂涂在铝箔上形成正极 锂电池的负极材料是层状石墨加导电剂及粘合剂…

Android 混淆从入门到精通

code小生 一个专注大前端领域的技术平台公众号回复Android加入安卓技术群作者:MobileDISHW链接:https://www.jianshu.com/p/4cfdf338f921声明:本文已获MobileDISHW授权发表,转发等请联系原作者授权简介作为Android开发者&#xff…

周末惊魂:因struts2 016 017 019漏洞被入侵,修复。

入侵(暴风雨前的宁静) 下午阳光甚好,想趁着安静的周末静下心来写写代码。刚过一个小时,3点左右,客服MM找我,告知客户都在说平台登录不了(我们有专门的客户qq群)。看了下数据库连接数…

Android制作AAR包并混淆后加载调用

学更好的别人,做更好的自己。——《微卡智享》本文长度为4389字,预计阅读12分钟前言最近准备做新版本产品研发,部分相关算法原来用的Webapi调用返回,考虑到速度问题,需要在Andriod端实现, 就想到了制作AAR包…

JavaScript综合实验(作业四)

📋 作者介绍:友友们好我是乱披风锤,大二学生党一枚 💖作者主页:乱披风锤的个人博客主页.跳转到个人简介 🔥我和友友们一样喜欢编辑,天天敲代码🤭,沉迷学习,日…

react-native 从简单的事件分发来介绍redux

转载请注明出处:王亟亟的大牛之路 这两天组里来了几个新人,有的用过redux,有的没用过,为了让他们上手或者理解的更透彻,就写了个demo,代码逻辑来源于https://github.com/ninty90/react-native-redux-demo 开篇前先安利 android:https://gi…

赫伯特·西蒙和艾伦·纽厄尔

赫伯特西蒙和艾伦纽厄尔 ——人工智能符号主义学派的创始人 1975年度的图灵奖授予卡内基—梅隆大学的两位教授:赫伯特西蒙(Herbert Alexander Simon)和艾伦纽厄尔(Allen Newell)。他们两人曾是师生,后来成为极其亲密…

人工神经网络概述及其在分类中的应…

人工神经网络概述及其在分类中的应用举例 人工神经网络(ARTIFICIAL NEURAL NETWORK,简称ANN)是目前国际上一门发展迅速的前沿交叉学科。为了模拟大脑的基本特性,在现代神经科学研究的基础上,人们提出来人工神经网络的模型。人工神经网络是在对…

多变量线性优化_使用线性上下文强盗进行多变量Web优化

多变量线性优化Expedia Group Technology —数据 (EXPEDIA GROUP TECHNOLOGY — DATA) Or how you can run full webpage optimisations with a context-aware outcome.或如何运行具有上下文感知结果的完整网页优化。 Contextual multi-armed bandits offer promising opportu…

BERT(Pre-training of Deep Bidirectional Transformers forLanguage Understanding)论文笔记

目录 一、Bert简介 1.1 Transformer模型 1.2 Bert模型 二、BERT的发展历程 2.1 One-Hot 编码 2.1.1 无法计算词相似度 2.1.2 Sparsity(稀疏性) ​2.2 Word2vec 2.3 BERT的诞生 三、BERT 的训练过程 3.1 Masked LM(Language Model…

Bert文本分类实战(附代码讲解)

目录 一、Bert简介 1.1 Transformer模型 1.2 Bert模型 二、BERT的发展历程 2.1 One-Hot 编码 2.1.1 无法计算词相似度 2.1.2 Sparsity(稀疏性) ​2.2 Word2vec 2.3 BERT的诞生 三、BERT 的训练过程 3.1 Masked LM(Language Model…

python虚拟机集锦(2)-垃圾收集算法(2)

目录识别参考循环为什么移动无法访问的对象更好正在销毁无法访问的对象优化:世代收集最古老的一代识别参考循环 当GC启动时,它在第一个链接列表中拥有所有要扫描的容器对象。目标是移动所有无法到达的对象。由于大多数对象都是可访问的,因此…

JVM、JRE和JDK的关系

JVM Java Virtual Machine是Java虚拟机,Java程序需要运行在虚拟机上,不同的平台有自己的虚拟机,因此Java语言可以实现跨平台。 JRE Java Runtime Environment包括Java虚拟机和Java程序所需的核心类库等。核心类库主要是java.lang包&#x…

Android查看自己的SDK和JDK安装路径

Android查看自己的SDK和JDK安装路径: 直接看图: 打开之后: 上面是 SDK,下面是 JDK。

JDK的下载、安装和配置

JDK的下载、安装和配置一、JDK的下载二、JDK的安装三、 JDK的配置验证一、JDK的下载 jdk下载地址:https://www.oracle.com/downloads/ 安装视频:https://www.bilibili.com/video/BV1zv411z7z9?t6 看到Developer Downloads ,点击 java 点击…

jpg图片损坏怎么修复?可以试试这个方法

生活中,相信不少小伙伴在使用电脑或手机时,难免会遇到这样的问题,就是保存的图片损坏了,看不到图像了。在出现图像损坏后,我们经常问自己的第一个问题是,有什么办法可以修复它们,之前小编也是遇…

matlab实现对图像的简单幻方置乱

信息隐藏技术常常与加密技术同时使用,使得隐藏的信息更加安全。 前言 最近在做选修课的结课大作业,做一个图像信息隐藏的小实验,要求对隐藏的水印(也就是小图像)进行置乱,其中一个就是幻方置乱。作为上课不…

已知明文攻击 分块置乱图像加密

目前,针对图像纯置乱加密的安全性分析已经得到了广泛研究,并且置乱加密已经被证明无法抵抗已知/选择明文攻击[1-3]。 2008年,Li等人[1]对图像单像素置乱加密进行定量密码分析,证明了对于已知明文攻击,至少需要 logL⁡(…

USB串口导致鼠标乱跳

近期在工控机上安装USB串口,结果装上没几天,就有反馈开机后鼠标乱跳。然后,开始解决问题。 环境: 工控机操作系统Windows 7专业版,USB串口Z-TEK USB RS232 1. 百度一下,需要修改注册表 HKEY_LOCAL_MACHINE\…