IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> 版本控制gitlab -> 正文阅读

[开发工具]版本控制gitlab

介绍

GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。

它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。

与GitHub的主要区别是:GitHub提供公共仓库和私有仓库,但如果需要使用私有仓库,是需要收费的。而Gitlab可以免费让用户设置仓库的权限,从而可以让指定的人看到指定的内容,保证了仓库的私有性。

常用版本控制工具:

  • gitlab
  • subversion

gitlab 部署

#安装git
[root@localhost ~]# yum -y install epel-release git

#安装依赖包
[root@localhost ~]# yum -y install curl openssh-server openssh-clients postfix cronie policycoreutils-python-utils

#启动postfix
[root@localhost ~]# systemctl enable --now postfix
Created symlink /etc/systemd/system/multi-user.target.wants/postfix.service → /usr/lib/systemd/system/postfix.service.

#下载gitlab的rpm包
#下载地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/

[root@localhost src]# wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el8/gitlab-ce-14.3.2-ce.0.el8.x86_64.rpm
[root@localhost ~]# rpm -ivh gitlab-ce-14.3.2-ce.0.el8.x86_64.rpm 
警告:gitlab-ce-14.3.2-ce.0.el8.x86_64.rpm: 头V4 RSA/SHA256 Signature, 密钥 ID f27eab47: NOKEY
Verifying...                          ################################# [100%]
准备中...                          ################################# [100%]
正在升级/安装...
   1:gitlab-ce-14.3.2-ce.0.el8        ################################# [100%]
It looks like GitLab has not been configured yet; skipping the upgrade script.

       *.                  *.
      ***                 ***
     *****               *****
    .******             *******
    ********            ********
   ,,,,,,,,,***********,,,,,,,,,
  ,,,,,,,,,,,*********,,,,,,,,,,,
  .,,,,,,,,,,,*******,,,,,,,,,,,,
      ,,,,,,,,,*****,,,,,,,,,.
         ,,,,,,,****,,,,,,
            .,,,***,,,,
                ,*,.
  


     _______ __  __          __
    / ____(_) /_/ /   ____ _/ /_
   / / __/ / __/ /   / __ `/ __ \
  / /_/ / / /_/ /___/ /_/ / /_/ /
  \____/_/\__/_____/\__,_/_.___/
  
Thank you for installing GitLab!
GitLab was unable to detect a valid hostname for your instance.
Please configure a URL for your GitLab instance by setting `external_url`
configuration in /etc/gitlab/gitlab.rb file.
Then, you can start your GitLab instance by running the following command:
  sudo gitlab-ctl reconfigure

For a comprehensive list of configuration options please see the Omnibus GitLab readme
https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md

Help us improve the installation experience, let us know how we did with a 1 minute survey:
https://gitlab.fra1.qualtrics.com/jfe/form/SV_6kVqZANThUQ1bZb?installation=omnibus&release=14-3


#修改配置文件
[root@localhost ~]# vim /etc/gitlab/gitlab.rb 
external_url 'http://192.168.8.129'

[root@localhost ~]# gitlab-ctl reconfigure
[root@localhost ~]# gitlab-ctl restart

#查看当前gitlab版本
[root@localhost ~]# head -1 /opt/gitlab/version-manifest.txt
gitlab-ce 14.3.2

#gilab密码存放位置
[root@localhost ~]# vim /etc/gitlab/initial_root_password

#破解密码
[root@localhost ~]# gitlab-rails console -e production
--------------------------------------------------------------------------------
 Ruby:         ruby 2.7.4p191 (2021-07-07 revision a21a3b7d23) [x86_64-linux]
 GitLab:       14.3.2 (92acfb1b8a9) FOSS
 GitLab Shell: 13.21.1
 PostgreSQL:   12.7
--------------------------------------------------------------------------------
Loading production environment (Rails 6.1.3.2)
irb(main):001:0> user = User.where(id:1).first
=> #<User id:1 @root>	# id为1的是超级管理员
irb(main):005:0> user.password = '123456789'
=> "123456789"	# 密码至少8个字符
irb(main):006:0> user.password_confirmation = '123456789'
=> "123456789"
irb(main):007:0> user.save!	#保存修改,无问题返回true
Enqueued ActionMailer::MailDeliveryJob (Job ID: cf6bafdc-c6ef-4f1b-be68-35881b3f4e9b) to Sidekiq(mailers) with arguments: "DeviseMailer", "password_change", "deliver_now", {:args=>[#<GlobalID:0x00007f354bd4daf0 @uri=#<URI::GID gid://gitlab/User/1>>]}
=> true

在这里插入图片描述
在这里插入图片描述

gitlab管理

在这里插入图片描述
创建用户
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
使用student用户登录
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
创建组
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
设置权限
在这里插入图片描述
在这里插入图片描述
管理项目
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

#克隆项目
[root@localhost opt]# git clone http://192.168.8.129/root/myproject.git
正克隆到 'myproject'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
展开对象中: 100% (3/3), 206 字节 | 206.00 KiB/s, 完成.
[root@localhost opt]# ls
gitlab  myproject

subversion

Subversion简称SVN,是当前占据主导的版本控制系统,它取代早前流行的CVS(Concurrent Version System)。SVN作为新一代的版本控制工具,不仅可以管理程序源代码,也可以应用于其他协作管理数据的工作:例如使用Subversion来合作写乐谱、共同作图。

在终端命令行中运行“svn --version”可查看当前安装的svn的版本号;通过“svn --help/-h/help/?”可以查看svn帮助,后可跟具体subcommand查询其帮助。

Subversion 的版本库可以通过网络访问,从而使用户可以在不同的电脑上进行操作。从某种程度上来说,允许用户在各自的空间里修改和管理同一组数据可以促进团队协作。因为修改不再是单线进行(单线进行也就是必须一个一个进行),开发进度会进展迅速。此外,由于所有的工作都已版本化,也就不必担心由于错误的更改而影响软件质量—如果出现不正确的更改,只要撤销那一次更改操作即可。
某些版本控制系统本身也是软件配置管理(SCM)系统,这种系统经过精巧的设计,专门用来管理源代码树,并且具备许多与软件开发有关的特性—比如,对编程语言的支持,或者提供程序构建工具。不过Subversion并不是这样的系统。它是一个通用系统,可以管理任何类型的文件集。对你来说,这些文件这可能是源程序—而对别人,则可能是一个货物清单或者是数字电影。

功能

  • 包含绝大部分CVS的功能
    CVS是最基本的版本控制系统。Subversion包含了CVS的大部分功能,并且针对有些功能还稍加改进。
  • 目录的版本化
    Subversion将目录名以版本号的形式体现。
  • 基于版本的复制,删除和重命名
    无论复制、删除还是重命名,都会被打上版本号,尽管这听上去有些奇怪。
  • 自由的版本化元数据操作
    Subversion允许任何元数据附加在文件或目录中。这些属性是键/值对,并且被版本化。Subversion也提供对修订版附加任何键/值属性的方法,这些属性不会被版本化,因为他们会自动将元数据附加到版本空间中,但他们可以随时被更改。
  • 混合追踪
    Subversion 1.5开始加入了混合追踪功能。
  • 文件锁
    支持文件锁定,当多个用户试图编辑同一个文件时会收到警告。
  • Apache网络服务的支持,基于WebDAV/DeltaV协议
    使用基于HTTP的WebDAV/DeltaV协议进行网络通信,而Apache网络服务器提供网络存储的站点服务。
  • 可执行的标签
    当一个文件是可执行的时候,Subversion会提示,并且当这个可执行的文件被放在版本控制中时,Subversion会防止该程序检查其他目录。
  • 独立进程模式
    Subversion可以运行在独立模式下
  • 一个只读的存储镜像
    Subversion提供一个工具,SVNsync, 用于同步主服务器上的 文件到一个子存储服务器上,并且标为只读的属性

上线、发布、发版流程

  • 运营人员计划一个时间发布
  • 开发人员开发
  • 测试人员测试
    有问题:打回去让开发修复bug
  • 运维人员:
    评估
  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2021-10-12 23:39:18  更:2021-10-12 23:40:41 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 0:36:56-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码