Git学习笔记(第10章):自建代码托管中心GitLab

news2024/11/14 21:02:28

目录

10.1 简介

10.2 安装

10.2.1 准备服务器

10.2.2 准备安装包

10.2.3 编写安装脚本

10.2.4 初始化GitLab服务

10.2.5 启动GitLab服务

10.2.6 使用浏览器访问GitLab

10.3 创建远程库

10.4 本地库推送到远程库


10.1 简介

        GitLab是由GitLab Inc.开发,使用MIT许可证的基于网络的Git仓库管理工具,且具有wiki和issue跟踪功能。使用Git作为代码管理工具,并在此基础上搭建起来的web服务。

        GitLab由乌克兰程序员DmitriyZaporozhets和ValerySizov开发,它使用Ruby语言写成。后来,一些部分用Go语言重写。截止2018年5月,该公司约有290团队成员,以及2000多名开源贡献者。GitLab被IBM,Sony,JülichResearchCenter,NASA,Alibaba,Invincea,O’ReillyMedia,Leibniz-Rechenzentrum(LRZ),CERN,SpaceX等组织使用。

10.2 安装

官网地址:The DevSecOps Platform | GitLab

安装说明:https://about.gitlab.com/installation/

Gitlab-ee:企业旗舰版

Gitlab-ce:社区免费版

10.2.1 准备服务器

        此部分需要具备虚拟机搭建的相关知识,可参考《Linux学习笔记》(见主页)。

  • Step1: 准备一个系统为CentOS7以上版本的服务器(此处克隆虚拟机

  • Step2:开启并登录虚拟机gitlab-server
    • 1:克隆虚拟机gitlab-server与模板虚拟机hadoop100的配置完全相同(包括账号和密码)
    • 2:此处 登录root账号
  • Step3:关闭防火墙
    • 临时关闭防火墙:systemctl stop firewalld
    • 开机启动时关闭防火墙:systemctl disable firewalld.service
    • 参考《Lin ux学习笔记》4.7 案例实操:防火墙

  • Step4:修改克隆机的主机名和IP地址
    • 主机名gitlab-server
      • hostnamectl set-hostname gitlab-server
    • IP地址192.168.171.200
      • cd /etc/sysconfig/network-scripts
      • vim ifcfg-ens33
    • 参考《Linux学习笔记》三、网络配置

  • Step5:重启服务器 reboot
  • Step6:配置windows的hosts映射文件
    • Step6.1:进入C:\Windows\System32\drivers\etc 路径

  • Step6.2:拷贝hosts文件到桌面
  • Step6.3:打开桌面hosts文件,并添加相应内容

  • Step6.4将桌面hosts 文件覆盖C:\Windows\System32\drivers\etc 路径hosts 文件
    • 参考《Linux学习笔记》3.4 配置hosts映射文件

10.2.2 准备安装包

        使用yum进行在线安装gitlab-ce时,需要下载几百M的安装文件,非常耗时,对网络的要求较高。因此,最好提前把所需RPM包下载到本地,再使用rpm进行离线安装

  • Step1:下载安装包
    •   下载地址:https://packages.gitlab.com/gitlab/gitlabce/packages/el/7/gitlab-ce-13.10.2-ce.0.el7.x86_64.rpm

  • Step2:上传安装包到服务器/opt/module目录下即可。

10.2.3 编写安装脚本

        Gitlab的安装步骤比较繁琐,因此我们可以参考官网编写gitlab的安装脚本。

  • Step1:编写安装脚本
[root@gitlab-server module]# vim gitlab-install.sh

sudo rpm -ivh /opt/module/gitlab-ce-13.10.2-ce.0.el7.x86_64.rpm

sudo yum install -y curl policycoreutils-python openssh-server cronie

sudo lokkit -s http -s ssh

sudo yum install -y postfix

sudo service postfix start

sudo chkconfig postfix on

curl https://packages.gitlab.com/install/repositories/gitlab/gitlabce/script.rpm.sh | sudo bash

sudo EXTERNAL_URL="http://gitlab.example.com" yum -y install gitlabce
  • Step2:给脚本增加执行权限
[root@gitlab-server module]# chmod +x gitlab-install.sh

[root@gitlab-server module]# ll

总用量 403104

-rw-r--r--. 1 root root 412774002 4 月 7 15:47 gitlab-ce-13.10.2-ce.0.el7.x86_64.rpm

-rwxr-xr-x. 1 root root 416 4 月 7 15:49 gitlab-install.sh

  • Step3:执行脚本,开始安装gitlab-ce
    • 注:一定要保证服务器可以上网(脚本涉及到yum命令在线安装)
[root@gitlab-server module]# ./gitlab-install.sh

警告:/opt/module/gitlab-ce-13.10.2-ce.0.el7.x86_64.rpm: 头 V4

RSA/SHA1 Signature, 密钥 ID f27eab47: NOKEY

准备中... #################################

[100%]

正在升级/安装...

 1:gitlab-ce-13.10.2-ce.0.el7

################################# [100%]

。 。 。 。 。 。

10.2.4 初始化GitLab服务

[root@gitlab-server module]# gitlab-ctl reconfigure

。 。 。 。 。 。

Running handlers:

Running handlers complete

Chef Client finished, 425/608 resources updated in 03 minutes 08

seconds

gitlab Reconfigured!

10.2.5 启动GitLab服务

  • 启动gitlab服务:gitlab-ctl start
  • 停止gitlab服务:gitlab-ctl stop
[root@gitlab-server module]# gitlab-ctl start

ok: run: alertmanager: (pid 6105) 89s

ok: run: gitaly: (pid 5996) 91s

ok: run: gitlab-exporter: (pid 5988) 91s

ok: run: gitlab-workhorse: (pid 5958) 92s

ok: run: grafana: (pid 6128) 89s

ok: run: logrotate: (pid 5312) 182s

ok: run: nginx: (pid 5275) 188s

ok: run: node-exporter: (pid 5982) 92s

ok: run: postgres-exporter: (pid 6120) 89s

ok: run: postgresql: (pid 4909) 243s

ok: run: prometheus: (pid 6083) 91s

ok: run: puma: (pid 5133) 206s

ok: run: redis: (pid 4676) 255s

ok: run: redis-exporter: (pid 5990) 91s

ok: run: sidekiq: (pid 5164) 200s

10.2.6 使用浏览器访问GitLab

  • Step1:访问GitLab服务器
    • 方式1:IP地址访问(默认端口为80,可不写) 192.168.171.200

  • 方式2:主机名访问 http://gitlab-server(必须配置windows的hosts映射文件)
    • 注:此处只能使用http,不能使用https

  • Step2:设置root账户的密码
    • 首次登陆之前,需要修改下GitLab提供的root账户的密码
    • 密码要求:8位以上,包含大小写子母和特殊符号

  • Step3:使用修改后的密码登录GitLab

10.3 创建远程库

  • Step1:New Project → Create blank project

  • Step2:输入远程库名称

  • Step3:查看效果

10.4 本地库推送到远程库

  • Step1:添加远程仓库(即本地仓库需要关联哪一个远程仓库)
    • 注:gitlab 网页上复制过来的连接是http://gitlab.example.com/root/git-vscode.git,需要手动修改为:http://gitlab-server/root/git-vscode.git

  • Step2:本地库推送到远程库

  • Step3:查看效果

        只要GitLab的远程库连接定义好以后,对GitLab远程库进行pull和clone的操作和Github和码云一致,此处不再赘述。 

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

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

相关文章

elasticsearch8.x版本docker部署说明和集成springboot

前提,当前部署没有涉及证书和https访问 1、环境说明,我采用三个节点,每个节点启动两个es,用端口区分 主机角色ip和端口服务器Amaster192.168.2.223:9200服务器Adata192.168.2.223:9201服务器Bdata,master192.168.2.224:9200服务器Bdata192.1…

服务和路由

Kong Gateway管理员使用对象模型来定义其期望的流量管理策略。在该模型中,两个重要的对象是服务(services)和路由(routes)。服务和路由被协调地配置,以定义请求和响应在系统中经过的路由路径。 下面的高级…

【数据结构 05】双链表

一、原理 双链表又称双向链表&#xff0c;通常情况下是带头循环结构&#xff0c;在CSTL标准模板库中封装的<list.h>头文件就是带头双向循环链表。 特性&#xff1a;增删灵活且高效&#xff0c;支持随机增删但不支持随机访问 设计思路&#xff1a; 链表包含一个头节点h…

webassembly003 whisper.cpp的main项目-1

参数设置 /home/pdd/le/whisper.cpp-1.5.0/cmake-build-debug/bin/main options:-h, --help [default] show this help message and exit-t N, --threads N [4 ] number of threads to use during computation-p N, --processors …

Linux:进度条的创建

目录 使用工具的简单介绍&#xff1a; \r &#xff1a; fflush &#xff1a; 倒计时的创建&#xff1a; 倒计时的工作原理&#xff1a; 进度条的创建&#xff1a; 不同场景下、打印任意长度的进度条&#xff1a; main .c procbor.c 测试效果&#xff1a; 使用工具…

EasyExcel通用导入 | 简单封装

0. 前言&#xff1a;1. 基本思路&#xff1a;2. 调用代码&#xff1a; 0. 前言&#xff1a; 之前做了好几个导入&#xff0c;用EasyExcel每次都要定义监听器去处理&#xff0c;就想能不能做个通用的方式&#xff0c;如下 1. 基本思路&#xff1a; 导入无非主要就是参数校验和数…

TypeScript(八) number和string

1. TypeScript number 1.1. 描述 Number对象是原始数值的包装对象。 1.2.语法 var num new Number(value);;注意&#xff1a;如果一个参数值不能转换为一个数字&#xff0c;将返回NaN&#xff08;非数字值&#xff09;。 1.3. 对象属性 属性描述MAX_VALUE可表示的最大的数…

阿尔泰科技—创新解决农业环境监测难题!

引言 “农业是人类生活中不可或缺的重要领域&#xff0c;而农业环境的监测与保护对于农作物的生长和农业生产的可持续发展至关重要。为了解决农业环境参数监测的难题&#xff0c;阿尔泰科技提供了一套先进的解决方案&#xff0c;利用USB5630-D数据采集卡搭配传感器测试方案&a…

计算机毕业设计 | SpringBoot+vue学生成绩管理系统教务管理系统

1 需求分析 为了满足现代大学教学的需求&#xff0c;本章节将对教务系统平台的选课系统进行深入的需求分析。 1.1 功能模块需求概述 1.1.1 网页功能需求概述 本教务系统平台项目开发了电脑网页端&#xff0c;基于上海大学的教学计划&#xff0c;面向教师和学生两个不同的角…

二、防御保护---防火墙基础知识篇

二、防御保护---防火墙基础知识篇 一、什么是防火墙二、防火墙的发展史1.包过滤防火墙(一个严格的规则表)2.应用代理防火墙(每个应用添加代理)3.状态检测防火墙(首次检查建立会话表)3.入侵检测系统(IDS)-----网络摄像头4.入侵防御系统(IPS)-----抵御2-7层已知威胁5.防病毒网关(…

【解决方案_中国银行滑动拼图验证,只有拖动了滑块之后,才会显示背景框的验证码】

中国银行滑动拼图验证&#xff0c;只有拖动了滑块之后&#xff0c;才会显示背景框的验证码&#xff0c;怎么解决&#xff1f;&#xff1a; 答&#xff1a; 将目标元素显示出来就可以了。 第二条指令&#xff1a;第二条指令里面填&#xff1a;//*[id"dx_captcha_basic_co…

鸿蒙系统扫盲(七):勘误补充总结,收个尾

这是笔者鸿蒙扫盲系列的最后一篇了&#xff0c;准备对过去的六篇扫盲系列文章&#xff0c;错误的地方做一些勘误&#xff0c;并且补充更新一些朋友们感兴趣的知识&#xff0c;最后收个尾。 1.勘误&#xff0c;编译型语言和解释型语言 在鸿蒙系统扫盲&#xff08;五&#xff0…

单片机学习笔记---定时器计数器(含寄存器)工作原理介绍(详解篇2)

目录 T1工作在方式2时 T0工作在方式3时 四种工作方式的总结 定时计数器对输入信号的要求 定时计数器对的编程的一个要求 关于初值计算的问题 4种工作方式的最大定时时间的大小 关于编程方式的问题 实例分析 实例1 实例2 T1工作在方式2时 51单片机&#xff0c;有两个…

全新开源AI代码工具诞生!超越谷歌DeepMind旗下AlphaCode

‍ 听说&#xff0c;谷歌DeepMind开发出的AlphaCode&#xff0c;和上个月刚刚由Gemini推出的AlphaCode 2两位“老大哥”被超越了&#xff1f; 没错&#xff0c;全新开源人工智能代码生成工具AlphaCodium&#xff0c;诞生了&#xff01; 其开发不得不说受到了两位老大哥的启发…

MySQL行格式原理深度解析

MySQL中的行格式&#xff08;Row Format&#xff09;是指存储在数据库表中的数据的物理格式。它决定了数据是如何在磁盘上存储的&#xff0c;以及如何在查询时被读取和解析的。MySQL支持多种行格式&#xff0c;每种格式都有其特定的优点和适用场景。 提升编程效率的利器: 解析…

vector(顺序表)

vector容器就相当于一个顺序表&#xff0c;只不过他把一些功能分装到了容器里 常用接口及语法 构造&#xff1a;vectro<数据类型> 对象名 输出&#xff1a;和顺序表一样我们需要遍历打印&#xff0c;而不能直接用cout打印 对象.push_back () 尾插 对象.pop_back() 尾删…

3款最好用的tron钱包解读:TronLink,Ledger,Bitget钱包

电子钱包是用户连接到区块链网络的重要媒介。除了接收和发送功能外&#xff0c;它还可用于传输虚拟货币。它也是使用分散应用程序&#xff08;DApp&#xff09;的必要工具&#xff01;无论您是想在ON上使用以太坊&#xff0c;EOS还是任何DApp&#xff0c;您都必须先拥有钱包。因…

springboot2.7继承swagger knif4j

maven pom依赖 <dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-openapi2-spring-boot-starter</artifactId><version>4.4.0</version></dependency> yml配置 knife4j:enable: trueopenapi:title: …

C++ 入门(二)— 基础知识

文章目录 语句和程序的结构对象和变量变量赋值和初始化cout、cin 和 endl 语句和程序的结构 语句 语句是迄今为止 C 程序中最常见的指令类型。这是因为它们是 C 语言中最小的独立计算单元。在这方面&#xff0c;它们的行为很像自然语言中的句子。 C 中的大多数&#xff08;但…

在Windows11的WSL上运行Llama2-7b-chat 上

最近在玩大模型&#xff0c;玩了ChatGLM3感觉不过瘾&#xff0c;又去玩了Llama2&#xff08;在Windows上简直难的离谱&#xff09;&#xff0c;下边我讲为大家讲一下我的心路历程。 心路历程 第一天&#xff1a;GLM那么简单&#xff0c;有手就行啊&#xff0c;最近Llama2开源…