当前位置: 首页 > news >正文

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

目录

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.shsudo rpm -ivh /opt/module/gitlab-ce-13.10.2-ce.0.el7.x86_64.rpmsudo yum install -y curl policycoreutils-python openssh-server croniesudo lokkit -s http -s sshsudo yum install -y postfixsudo service postfix startsudo chkconfig postfix oncurl https://packages.gitlab.com/install/repositories/gitlab/gitlabce/script.rpm.sh | sudo bashsudo 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: 头 V4RSA/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 completeChef Client finished, 425/608 resources updated in 03 minutes 08secondsgitlab Reconfigured!

10.2.5 启动GitLab服务

  • 启动gitlab服务:gitlab-ctl start
  • 停止gitlab服务:gitlab-ctl stop
[root@gitlab-server module]# gitlab-ctl startok: run: alertmanager: (pid 6105) 89sok: run: gitaly: (pid 5996) 91sok: run: gitlab-exporter: (pid 5988) 91sok: run: gitlab-workhorse: (pid 5958) 92sok: run: grafana: (pid 6128) 89sok: run: logrotate: (pid 5312) 182sok: run: nginx: (pid 5275) 188sok: run: node-exporter: (pid 5982) 92sok: run: postgres-exporter: (pid 6120) 89sok: run: postgresql: (pid 4909) 243sok: run: prometheus: (pid 6083) 91sok: run: puma: (pid 5133) 206sok: run: redis: (pid 4676) 255sok: run: redis-exporter: (pid 5990) 91sok: 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和码云一致,此处不再赘述。 

相关文章:

  • 使用CUDA过程中出现异常
  • 机电制造ERP软件有哪些品牌?哪家的机电制造ERP系统比较好
  • Vulnhub-DerpNStink
  • iOS 17.4 苹果公司正在加倍投入人工智能
  • 研发日记,Matlab/Simulink避坑指南(五)——CAN解包 DLC Bug
  • 【Spring Boot 3】【@Scheduled】多线程执行定时任务
  • 【React教程】(2) React之JSX入门与列表渲染、条件渲染详细代码示例
  • 一文彻底搞懂redis数据结构及应用
  • vue3 组合式API获取子组件的属性和方法
  • 【webrtc】m98 : vs2019 直接构建webrtc及moduletest工程 2
  • ARCGIS PRO SDK 数据库属性域设置与获取
  • 华为策略路由+NQA配置
  • iText操作pdf
  • 05 Redis之Benchmark+简单动态字符串SDS+集合的底层实现
  • 改变this指针的三个方法?
  • 30天自制操作系统-2
  • canvas 高仿 Apple Watch 表盘
  • es6要点
  • Fundebug计费标准解释:事件数是如何定义的?
  • input实现文字超出省略号功能
  • k8s 面向应用开发者的基础命令
  • Laravel Telescope:优雅的应用调试工具
  • SwizzleMethod 黑魔法
  • ucore操作系统实验笔记 - 重新理解中断
  • 持续集成与持续部署宝典Part 2:创建持续集成流水线
  • 从零到一:用Phaser.js写意地开发小游戏(Chapter 3 - 加载游戏资源)
  • 构建二叉树进行数值数组的去重及优化
  • 基于web的全景—— Pannellum小试
  • 近期前端发展计划
  • 每天一个设计模式之命令模式
  • 七牛云假注销小指南
  • 嵌入式文件系统
  • 使用SAX解析XML
  • 微信公众号开发小记——5.python微信红包
  • 转载:[译] 内容加速黑科技趣谈
  • 1.Ext JS 建立web开发工程
  • 3月27日云栖精选夜读 | 从 “城市大脑”实践,瞭望未来城市源起 ...
  • 长三角G60科创走廊智能驾驶产业联盟揭牌成立,近80家企业助力智能驾驶行业发展 ...
  • 移动端高清、多屏适配方案
  • 整理一些计算机基础知识!
  • ‌U盘闪一下就没了?‌如何有效恢复数据
  • # Apache SeaTunnel 究竟是什么?
  • #define与typedef区别
  • #NOIP 2014# day.1 生活大爆炸版 石头剪刀布
  • #经典论文 异质山坡的物理模型 2 有效导水率
  • ( 10 )MySQL中的外键
  • (6)添加vue-cookie
  • (k8s)Kubernetes本地存储接入
  • (STM32笔记)九、RCC时钟树与时钟 第一部分
  • (编程语言界的丐帮 C#).NET MD5 HASH 哈希 加密 与JAVA 互通
  • (四)js前端开发中设计模式之工厂方法模式
  • (一)UDP基本编程步骤
  • *算法训练(leetcode)第三十九天 | 115. 不同的子序列、583. 两个字符串的删除操作、72. 编辑距离
  • .mkp勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .net core + vue 搭建前后端分离的框架