gitlab

版本控制gitlab

版本控制是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理,是软件配置管理的核心思想之一。版本控制最主要的功能就是追踪文件的变更。它将什么时候、什么人更改了文件的什么内容等信息忠实地了记录下来。每一次文件的改变,文件的版本号都将增加。除了记录版本变更外,版本控制的另一个重要功能是并行开发。软件开发往往是多人协同作业,版本控制可以有效地解决版本的同步以及不同开发者之间的开发通信问题,提高协同开发的效率。并行开发中最常见的不同版本软件的错误(Bug)修正问题也可以通过版本控制中分支与合并的方法有效地解决。
具体来说,在每一项开发任务中,都需要首先设定开发基线,确定各个配置项的开发初始版本,在开发过程中,开发人员基于开发基线的版本,开发出所需的目标版本。当发生需求变更时,通过对变更的评估,确定变更的影响范围,对被影响的配置项的版本进行修改,根据变更的性质使配置项的版本树继续延伸或产生新的分支,形成新的目标版本,而对于不受变更影响的配置项则不应发产生变动。同时,应能够将变更所产生的对版本的影响进行记录和跟踪。必要时还可以回退到以前的版本。例如当开发需求或需求变更被取消时,就需要有能力将版本回退到开发基线版本。在曾经出现过的季度升级包拆包和重新组包的过程中,其实就是将部分配置项的版本回退到开发基线,将对应不同需求的不同分支重新组合归并,形成新的升级包版本。
版本控制是软件配置管理的核心功能。所有置于配置库中的元素都应自动予以版本的标识,并保证版本命名的唯一性。版本在生成过程中,自动依照设定的使用模型自动分支、演进。除了系统自动记录的版本信息以外,为了配合软件开发流程的各个阶段。还需要定义、收集一些元数据来记录版本的辅助信息和规范开发流程,并为今后对软件过程的度量做好准备。当然如果选用的工具支持,这些辅助数据将能直接统计出过程数据,从而方便软件过程改进活动的进行。对于配置库中的各个基线控制项,应该根据其基线的位置和状态来设置相应的访问权限。一般来说,对于基线版本之前的各个版本都应处于被锁定的状态,如需要对它们进行变更,则应按照变更控制的流程来进行操作。
常用的版本控制工具:

  • gitlab
  • subversion

  • gitlab部署

[root@localhost ~]# dnf -y nstall epel-release
[root@localhost ~]# dnf -y install git curl openssh-server openssh-clients postfix cronie
[root@localhost ~]# wget https://mirror.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-15.2.2-ce.0.el7.x86_64.rpm
--2022-09-23 00:04:40--  https://mirror.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-15.2.2-ce.0.el7.x86_64.rpm
Resolving mirror.tuna.tsinghua.edu.cn (mirror.tuna.tsinghua.edu.cn)... 101.6.15.130, 2402:f000:1:400::2
Connecting to mirror.tuna.tsinghua.edu.cn (mirror.tuna.tsinghua.edu.cn)|101.6.15.130|:443... connected.

HTTP request sent, awaiting response... 200 OK
Length: 1136813194 (1.1G) [application/x-redhat-package-manager]
Saving to: 'gitlab-ce-15.2.2-ce.0.el7.x86_64.rpm'

gitlab-ce-15.2.2-ce.0 100%[=========================>]   1.06G  11.3MB/s    in 1m 42s

2022-09-23 00:06:23 (10.6 MB/s) - 'gitlab-ce-15.2.2-ce.0.el7.x86_64.rpm' saved [1136813194/1136813194]

[root@localhost ~]# ls
anaconda-ks.cfg  gitlab-ce-15.2.2-ce.0.el7.x86_64.rpm
[root@localhost ~]# dnf list all|grep policycoreutils-python
policycoreutils-python-utils.noarch                               2.9-20.el8                                                 baseos

[root@localhost ~]# wget http://mirror.centos.org/centos/7/os/x86_64/Packages/policycoreutils-python-2.5-34.el7.x86_64.rpm
--2022-09-23 00:11:45--  http://mirror.centos.org/centos/7/os/x86_64/Packages/policycoreutils-python-2.5-34.el7.x86_64.rpm
Resolving mirror.centos.org (mirror.centos.org)... 54.169.224.98, 2401:78c0::e00e
Connecting to mirror.centos.org (mirror.centos.org)|54.169.224.98|:80... connected.

HTTP request sent, awaiting response... 200 OK
Length: 468316 (457K) [application/x-rpm]
Saving to: 'policycoreutils-python-2.5-34.el7.x86_64.rpm'

policycoreutils-pytho 100%[=========================>] 457.34K  1.05MB/s    in 0.4s

2022-09-23 00:11:46 (1.05 MB/s) - 'policycoreutils-python-2.5-34.el7.x86_64.rpm' saved [468316/468316]

[root@localhost ~]# ls
anaconda-ks.cfg                       policycoreutils-python-2.5-34.el7.x86_64.rpm
gitlab-ce-15.2.2-ce.0.el7.x86_64.rpm
[root@localhost ~]# rpm -qa | grep policy
selinux-policy-3.14.3-58.el8.noarch
policycoreutils-2.9-9.el8.x86_64
selinux-policy-targeted-3.14.3-58.el8.noarch
[root@localhost ~]# rpm -e policycoreutils
error: Failed dependencies:
        policycoreutils is needed by (installed) postfix-2:3.5.8-4.el8.x86_64
[root@localhost ~]# rpm -e policycoreutils --nodeps
[root@localhost ~]# setenforce 0
[root@localhost ~]# systemctl disable --now firewalld
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.

Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

[root@localhost ~]# vim /etc/selinux/config
diabled
[root@localhost ~]# rpm -ivh --nodeps policycoreutils-python-2.5-34.el7.x86_64.rpm
warning: policycoreutils-python-2.5-34.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
Updating / installing...

   1:policycoreutils-python-2.5-34.el7################################# [100%]
[root@localhost ~]# rpm -ivh gitlab-ce-15.2.2-ce.0.el7.x86_64.rpm
warning: gitlab-ce-15.2.2-ce.0.el7.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID f27eab47: NOKEY
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
Updating / installing...

   1:gitlab-ce-15.2.2-ce.0.el7        ################################# [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=15-2

[root@localhost ~]# vim /etc/gitlab/gitlab.rb
external_url 'http://192.168.29.140'
[root@localhost ~]# gitlab-ctl reconfigure
[2022-09-23T00:27:02+08:00] INFO: Started Chef Infra Zero at chefzero://localhost:1 with repository at /opt/gitlab/embedded (One version per cookbook)
Chef Infra Client, version 17.10.0
Patents: https://www.chef.io/patents
Infra Phase starting
[2022-09-23T00:27:02+08:00] INFO: *** Chef Infra Client 17.10.0 ***
[2022-09-23T00:27:02+08:00] INFO: Platform: x86_64-linux
[2022-09-23T00:27:02+08:00] INFO: Chef-client pid: 60844
[2022-09-23T00:27:04+08:00] INFO: Setting the run_list to ["recipe[gitlab]"] from CLI options
[2022-09-23T00:27:04+08:00] INFO: Run List is [recipe[gitlab]]
[2022-09-23T00:27:04+08:00] INFO: Run List expands to [gitlab]
[2022-09-23T00:27:04+08:00] INFO: Starting Chef Infra Client Run for localhost
[2022-09-23T00:27:04+08:00] INFO: Running start handlers
[2022-09-23T00:27:04+08:00] INFO: Start handlers complete.

Resolving cookbooks for run list: ["gitlab"]
[2022-09-23T00:27:05+08:00] INFO: Loading cookbooks [gitlab@0.0.1, package@0.1.0, logrotate@0.1.0, postgresql@0.1.0, redis@0.1.0, monitoring@0.1.0, registry@0.1.0, mattermost@0.1.0, consul@0.1.0, gitaly@0.1.0, praefect@0.1.0, gitlab-kas@0.1.0, gitlab-pages@0.1.0, letsencrypt@0.1.0, nginx@0.1.0, runit@5.1.3, acme@4.1.5, crond@0.1.0]
Synchronizing cookbooks:
[2022-09-23T00:27:05+08:00] INFO: Storing updated cookbooks/gitlab/libraries/account_helper.rb in the cache.

......

[root@localhost ~]# gitlab-ctl restart
ok: run: gitaly: (pid 76789) 0s
ok: run: logrotate: (pid 76832) 1s
ok: run: redis: (pid 76875) 0s
[root@localhost ~]# head -1 /opt/gitlab/version-manifest.txt
gitlab-ce 15.2.2

Original: https://www.cnblogs.com/marymary/p/16721342.html
Author: 溜溜威
Title: gitlab

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/611432/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • python实现Mysql数据库批量新增数据

    一、批量插入数据的场景 二、插入数据的工具选择 三、选择Python进行批量插入 Python实现批量插入Mysql数据库数据 一、批量插入数据的场景 在进行数据压力时需要进行大数…

    数据库 2023年6月6日
    097
  • Isilon 的OneFs常见操作命令(一)

    1背景知识: Isilon的oneFS是基于Free BSD的,FreeBSD 是一种类UNIX操作系统,因此有些类似Linux操作系统的常见命令可以直接使用,但有些又略微差别,需…

    数据库 2023年6月14日
    0325
  • 记一次有意思的 SQL 实现 → 分组后取每组的第一条记录

    开心一刻 今天,我的朋友怒气冲冲地向我走来。 [En] Today, my friend came up to me angrily. 朋友:我和一个女朋友聊了三个月了。我昨天偷看…

    数据库 2023年5月24日
    0121
  • 生产数据库主键超出限制解决方案

    不说那种建表的时候 设置好主键格式 的 解决方案. 事后诸葛啊. 谁都会 不靠谱方案1改主键表结构. 费时! 主键已经超长了.说明 数据量相当大. 改表结构的时间成本你能等得起吗方…

    数据库 2023年6月14日
    077
  • MySQL<=>是什么鬼

    类似于相等比较 =运算符 官网描述 NULL-safe equal. This operator performs an equality comparison like the …

    数据库 2023年6月9日
    093
  • MySQL数据库索引介绍

    一、什么是索引 索引是mysql数据库中的一种数据结构,就是一种数据的组织方式,这种数据结构又称为key 表中的一行行数据按照索引规定的结构组织成了一种树型结构,该树叫B+树 二、…

    数据库 2023年5月24日
    065
  • Java根据Freemarker模板生成Word文件

    准备模板 模板 + 数据 = 模型 1、将准备好的Word模板文件另存为.xml文件(PS:建议使用WPS来创建Word文件,不建议用Office) 2、将.xml文件重命名为.f…

    数据库 2023年6月14日
    083
  • 必应咋想的

    首页里弄了个阴森的图片,下面有个山洞,里面有白衣女鬼飘过,还有背景音乐。 看右下角的介绍里有名字叫:万圣节之夜在黑暗树篱 Original: https://www.cnblogs…

    数据库 2023年6月9日
    081
  • 国行XBoxOne第一次开机配置主要问题备忘

    1,Kinect可以在设置中关闭。 2,彻底关闭主机,需要长按主机上的开关键,将主机彻底关机,同时开机只要轻触一下主机开关机键即可 3,不能更新问题:3.1检查网络已连接3.2检查…

    数据库 2023年6月14日
    0233
  • JUC学习笔记(三)

    线程间通信的模型有两种:共享内存和消息传递,以下方式都是基本这两种模型来实现的。我们来基本一道面试常见的题目来分析 JUC学习笔记(一)https://www.cnblogs.co…

    数据库 2023年6月6日
    075
  • 【StoneDB研发日志】union功能bug记录

    1、问题现象 create database syw_mtr; use syw_mtr; CREATE TABLE t1 (f1 VARCHAR(255) CHARACTER SE…

    数据库 2023年5月24日
    073
  • DB审核查询平台Archery–安装部署可能遇到的问题

    Archery是archer的分支项目,定位于SQL审核查询平台,旨在提升DBA的工作效率,支持多数据库的SQL上线和查询,同时支持丰富的MySQL运维功能,所有功能都兼容手机端操…

    数据库 2023年5月24日
    056
  • Nginx 简介、安装、核心配置

    Nginx简介 背景介绍 Nginx(”engine x”)一个具有高性能的【HTTP】和【反向代理】的【WEB服务器】,同时也是一个【POP3/SMTP/…

    数据库 2023年6月6日
    092
  • 对炒股看法

    1. 自己的炒股情况 2017 年左右接触炒股, 陆续入迷. 个人情况输的多. 主要输在阅历浅, 策略不连贯, 心态不稳. 期间翻阅了大量书籍, 学到了很多, 开拓了眼界. 真的是…

    数据库 2023年6月9日
    075
  • Java中AES加密和解密的方法分享

    转自: http://www.java265.com/JavaJingYan/202206/16559759223818.html 下文笔者讲述java代码实现的AES加密和解密的…

    数据库 2023年6月11日
    088
  • Linux快速安装流量监控工具(实用版)

    前言: Linux流量监控工具,在此我推荐两种分别为: 1、nload(推荐)因为个人看着舒服点😂 2、iftop 以上两种任选其一即可,在此对两种都有介绍和安装教程,我写了,大家…

    数据库 2023年6月16日
    072
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球