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版本控制

1.版本控制介绍

版本控制针对开发过程中的各种程序代码,配置文件,说明文档,文件的变更的合理管理,核心是软件配置的管理。

版本控制主要的功能是记录文件内的变更,文件的改变,文件的版本号都将增加,除了记录版本变更外,版本控制的另一个重要功能是和软件开发协同作业,版本控制可以有效的解决版本的同步以及不同开发者之间的开发通信问题,提高协同开发的效率,不同版本软件的bug错误可以通过版本控制中对端分支与合并的方法有效解决。

版本控制工具

gitlab

subversion

2.gitlab部署

最新linux环境

#安装epel源
[root@localhost ~]# yum -y install epel-release
#安装git
[root@localhost ~]# yum -y install git
#安装依赖包
[root@localhost ~]# yum list all|grep  policycoreutils|grep python   //该包会变动
policycoreutils-python-utils.noarch                               2.9-16.el8
[root@localhost ~]# yum -y install curl openssh-server openssh-clients postfix cronie policycoreutils-python-utils
#开启邮箱服务
[root@localhost src]# systemctl enable --now postfix
Created symlink /etc/systemd/system/multi-user.target.wants/postfix.service → /usr/lib/systemd/system/postfix.service.


#下载gitlab软件包
[root@localhost ~]# cd /usr/src/
[root@localhost src]# wget https://mirrors.bfsu.edu.cn/gitlab-ce/yum/el8/gitlab-ce-14.3.2-ce.0.el8.x86_64.rpm
[root@localhost src]# ls
debug  gitlab-ce-14.3.2-ce.0.el8.x86_64.rpm  kernels
#安装gitlab rpm包
[root@localhost src]# 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. //显示请配置你的url
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
#配置gitlab的文件
[root@localhost src]# vim /etc/gitlab/gitlab.rb 
external_url 'http://192.168.136.242'    //改成你的本机ip

[root@localhost src]# gitlab-ctl reconfigure
Starting Chef Infra Client, version 15.17.4
resolving cookbooks for run list: ["gitlab"]
Synchronizing 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)
#观察到的端口
[root@localhost ~]# ss -antl
State       Recv-Q      Send-Q            Local Address:Port             Peer Address:Port      Process      
LISTEN      0           1024                  127.0.0.1:9187                  0.0.0.0:*                      
LISTEN      0           1024                  127.0.0.1:9093                  0.0.0.0:*                      
LISTEN      0           1024                  127.0.0.1:9100                  0.0.0.0:*                      
LISTEN      0           1024                  127.0.0.1:9229                  0.0.0.0:*                      
LISTEN      0           128                   127.0.0.1:9168                  0.0.0.0:*                      
LISTEN      0           1024                  127.0.0.1:8080                  0.0.0.0:*                      
LISTEN      0           511                     0.0.0.0:80                    0.0.0.0:*                      
LISTEN      0           128                   127.0.0.1:8082                  0.0.0.0:*                      
LISTEN      0           128                   127.0.0.1:9236                  0.0.0.0:*                      
LISTEN      0           128                     0.0.0.0:22                    0.0.0.0:*                      
LISTEN      0           1024                  127.0.0.1:3000                  0.0.0.0:*                      
LISTEN      0           100                   127.0.0.1:25                    0.0.0.0:*                      
LISTEN      0           511                     0.0.0.0:8060                  0.0.0.0:*                      
LISTEN      0           1024                  127.0.0.1:9121                  0.0.0.0:*                      
LISTEN      0           1024                  127.0.0.1:9090                  0.0.0.0:*                      
LISTEN      0           1024                          *:9094                        *:*                      
LISTEN      0           128                       [::1]:9168                     [::]:*                      
LISTEN      0           128                        [::]:22                       [::]:*                      
LISTEN      0           100                       [::1]:25                       [::]:*   
#关闭防火墙        
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
#查看github版本
[root@localhost ~]# head -1 /opt/gitlab/version-manifest.txt 
gitlab-ce 14.3.2

#查看gitlab默认密码
[root@localhost ~]# cat  /etc/gitlab/initial_root_password 
Password: JMJQNeTfLhpA5O0RpTavm6Fa/dOnr/K1G+5KejOJ4UI=
    
#忘记密码,破解密码
[root@localhost ~]# gitlab-rails console -e production      //进入gitlab控制台
--------------------------------------------------------------------------------
 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
irb(main):011:0> user = User.where(id: 1).first  //用户是对于id=1的超级管理员
=> #<User id:1 @root>
irb(main):012:0> user.password = 'gitlab@@@'     //设置密码,必须是八位以上
=> "gitlab@@@"
irb(main):013:0> user.password_confirmation = 'gitlab@@@' //再次确认密码
=> "gitlab@@@"
irb(main):014:0> user.save!        //保存
Enqueued ActionMailer::MailDeliveryJob (Job ID: 45eb0c23-ffac-4eea-8eb2-274f003f18cf) to Sidekiq(mailers) with arguments: "DeviseMailer", "password_change", "deliver_now", {:args=>[#<GlobalID:0x00007ff48ea91de0 @uri=#<URI::GID gid://gitlab/User/1>>]}
=> true

下载gitlab最新安装包:https://mirrors.bfsu.edu.cn/gitlab-ce/yum/el8/(外国语学校镜像源)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nFUhP0PY-1634226217984)(C:\Users\鸡哥爱篮球\Pictures\gitlab\QQ截图20211013111157.png)]

访问gitlabweb界面

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5QNkMfDh-1634226217988)(C:\Users\鸡哥爱篮球\Pictures\gitlab\QQ截图20211013115956.png)]

3.gitlab界面创建用户和组

web界面管理介绍

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zTGrJ9R9-1634226217989)(C:\Users\鸡哥爱篮球\Pictures\gitlab\QQ截图20211013123852.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-h8RecnSY-1634226217991)(C:\Users\鸡哥爱篮球\Pictures\gitlab\QQ截图20211013124401.png)]

用户操作

在这里插入图片描述

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6jSJYTaz-1634226217995)(C:\Users\鸡哥爱篮球\Pictures\gitlab\QQ截图20211013130334.png)]

换另一个浏览器再次访问,用tom用户进行登录,会提示重新设置一个新的密码

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lqFkpggs-1634226217996)(C:\Users\鸡哥爱篮球\Pictures\gitlab\QQ截图20211013130742.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CYuJNeEr-1634226217997)(C:\Users\鸡哥爱篮球\Pictures\gitlab\QQ截图20211013131045.png)]

用户的禁用以及再次编辑,一般情况下不会删除某个用户

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sGHgFukL-1634226217998)(C:\Users\鸡哥爱篮球\Pictures\gitlab\QQ截图20211013131848.png)]

创建组

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BWkLz68o-1634226217998)(C:\Users\鸡哥爱篮球\Pictures\gitlab\QQ截图20211013132426.png)]

添加用户到组

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pDAYFPB6-1634226217999)(C:\Users\鸡哥爱篮球\Pictures\gitlab\QQ截图20211013133146.png)]


4.gitlab项目的介绍

4.1创建项目

在这里插入图片描述

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AvxOWG4p-1634226218001)(C:\Users\鸡哥爱篮球\Pictures\gitlab\QQ截图20211013134731.png)]

4.2项目克隆到linux目录下(重要)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ErnzzzlW-1634226218001)(C:\Users\鸡哥爱篮球\Pictures\gitlab\QQ截图20211013135530.png)]

#项目拉到本地服务器
[root@localhost opt]# pwd
/opt
[root@localhost opt]# git clone http://192.168.136.242/it/gram.git
[root@localhost opt]# ls
gitlab  gram
[root@localhost opt]# cd gram/
[root@localhost gram]# git switch -c master    //切换一个主分支
#Git全局配置
[root@localhost gram]# git config --global user.name "Administrator"
[root@localhost gram]# git config --global user.email "admin@example.com"
#添加一个内容,因为项目之前没有东西
[root@localhost gram]# touch README.md
[root@localhost gram]# git add README.md
[root@localhost gram]# git commit -m "add README"
#本地的内容传到gitlab上
[root@localhost gram]# git push -u origin master
Username for 'http://192.168.136.242': root
Password for 'http://root@192.168.136.242': 

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GX58wlcf-1634226218002)(C:\Users\鸡哥爱篮球\Pictures\gitlab\QQ截图20211013141739.png)]


4.3发布,发版,上线的流程(生产环境)

发布需求运营人员提出

开发人员按照需求开发代码,可以加需求,提交变更单(开发组长签字)

测试人员进行测试

  	1. 有问题:打回修复代码
  	2. 无问题:**让测试人员签字**(避免背锅)

运维人员

1.评估

2.汇报 (邮件方式还是避免背锅)

CTO 首席技术总监 (服从cto即可)

以上是大厂的流程

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-10-15 12:08:50  更:2021-10-15 12:09:39 
 
开发: 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/15 19:46:42-

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