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)

大家都在看

  • Mysql8设置允许root用户远程访问

    按照mysql8.0以前的方法修改报错 mysql> grant all privileges on *.* to ‘root’@’%’ identified by ‘PAS…

    数据库 2023年6月6日
    0114
  • 观点 | NoSQL 产品的 SaaS 化之路

    王奇 顾问软件工程师目前从事 PaaS 中间件服务(Redis / MongoDB / ELK 等)开发工作,对 NoSQL 数据库有深入的研究以及丰富的二次开发经验,热衷对 No…

    数据库 2023年5月24日
    090
  • 【黄啊码】关于微信支付走过的坑

    错误:未定义数组索引:openid 。经过检查发现是 :微信支付授权获取 openId {“errcode”:40163,”errmsg&#82…

    数据库 2023年6月16日
    090
  • MySQL学习笔记-day01

    SQL,全称 Structured Query Language, SQL用来和数据库打交道,完成和数据库的通信, SQL是一套标准。(90%以上的 SQL都是通用的)。 SQL:…

    数据库 2023年5月24日
    090
  • 如何画出别人一看就懂的架构图?

    技术传播的价值,不仅仅体现在通过商业化产品和开源项目来缩短我们构建应用的路径,加速业务的上线速率,也体现在优秀工程师在工作效率提升、产品性能优化和用户体验改善等经验方面的分享,以提…

    数据库 2023年6月14日
    087
  • 2022-8-15 数据库 mysql 第一天

    Mysql数据库 数据库 数据库[根据数据结构组织、存储和管理数据的仓库]。它是有组织的、可共享的、统一管理的大量数据的集合,这些数据长期存储在计算机中。 [En] Databas…

    数据库 2023年5月24日
    065
  • Docker Mysql安装和启动

    1、拉取mysql镜像 前往docker官网dockerhub在这里插入图片描述可以在红框内选择指定版本,例如 <span class=”token function”&gt…

    数据库 2023年6月6日
    083
  • MIT 6.824 Lab2A Raft之领导者选举

    实验准备 实验代码: git://g.csail.mit.edu/6.824-golabs-2021/src/raft 如何测试: go test -run 2A -race 相关…

    数据库 2023年6月14日
    099
  • mybatis-plus详细讲解

    本文笔记都是观看狂神老师视频手敲的,视频地址:https://www.bilibili.com/video/BV17E411N7KN 学java后端的都可以去看一下,从基础到架构很…

    数据库 2023年6月14日
    092
  • SpringMvc(四)- 下载,上传,拦截器

    1、图片下载 图片下载:将服务器端的文件以流的形式写到客户端,通过浏览器保存到本地,实现下载; 1.1 图片下载步骤 1.通过session获取上下文对象(session.getS…

    数据库 2023年6月16日
    065
  • SQL中的排座位问题

    表: Seat +————-+———————+|…

    数据库 2023年6月14日
    0100
  • 解决 IDEA 2021.2.3 新建maven项目只有两个archetype项目模板的问题

    最近把我的 IDEA 版本更新到 2021.2.3 了,发生了一个比较有意思的问题,做个小小的记录 思路分析 在新的 IDEA 中配置完Maven之后,想要创建Maven项目的时候…

    数据库 2023年6月11日
    083
  • 网卡限速工具之WonderShaper

    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。 GreatSQL是MySQL的国产分支版本,使用上与MySQL一致。 什么是WonderShaper …

    数据库 2023年5月24日
    094
  • mysql拆分字符串做条件查询

    mysql拆分字符串作为查询条件 有个群友问一个问题 这表的ancestors列存放的是所有的祖先节点,以 ,分隔 例如我查询dept_id为103的所有祖先节点,现在我只有一个d…

    数据库 2023年6月16日
    068
  • JVM-方法区

    方法区 JAVA技术交流群:737698533 方法区是运行时数据区的最后一个内容,Method Area 栈,堆,方法区中的交互关系 方法区简述 方法区(Method Area)…

    数据库 2023年6月16日
    086
  • 【大厂面试必备系列】滑动窗口协议

    引言 想象一下这个场景:主机 A 一直向主机 B 发送数据,不考虑主机 B 的接收能力,则可能导致主机 B 的接收缓冲区满了而无法再接收数据,从而导致大量的数据丢包,引发重传机制。…

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