Clannaddada

导航

gitlab

gitlab

gitlab仓库管理系统

GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。安装方法是参考GitLab在GitHub上的Wiki页面。Gitlab是目前被广泛使用的基于git的开源代码管理平台, 基于Ruby on Rails构建, 主要针对软件开发过程中产生的代码和文档进行管理, Gitlab主要针对group和project两个维度进行代码和文档管理, 其中group是群组, project是工程项目, 一个group可以管理多个project, 可以理解为一个群组中有多项软件开发任务, 而一个project中可能包含多个branch, 意为每个项目中有多个分支, 分支间相互独立, 不同分支可以进行归并

常用的版本控制工具:

  • gitlab
  • subversion

gitlab特点

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

gitlab部署

部署yum镜像

[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# rm -rf *
[root@localhost yum.repos.d]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
[root@localhost yum.repos.d]# sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo

部署epel镜像

[root@localhost yum.repos.d]# yum install -y https://mirrors.aliyun.com/epel/epel-release-latest-8.noarch.rpm
[root@localhost yum.repos.d]# sed -i 's|^#baseurl=https://download.example/pub|baseurl=https://mirrors.aliyun.com|' /etc/yum.repos.d/epel*
[root@localhost yum.repos.d]# sed -i 's|^metalink|#metalink|' /etc/yum.repos.d/epel*

关闭防火墙和selinux

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# sed -ri 's/^(SELINUX=).*/\1disabled/g' /etc/sysconfig/selinux

下载gitlab包

下载policycoreutils-python依赖包

pkgs官网

image

image

下载gitlab-ce包

清华大学开源软件镜像站下载gitlab-ce

image

#先卸载原本的依赖包
[root@localhost ~]# dnf -y remove policycoreutils

#下载包
[root@localhost ~]# wget http://mirror.centos.org/centos/7/os/x86_64/Packages/policycoreutils-python-2.5-34.el7.x86_64.rpm
[root@localhost ~]# wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-15.3.3-ce.0.el7.x86_64.rpm

[root@localhost ~]# yum -y install epel-release git
[root@localhost ~]# yum -y install curl openssh-server openssh-clients postfix cronie perl
#安装policycoreutils-python
[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%]

#安装gitlab-ce
[root@localhost ~]# rpm -ivh gitlab-ce-15.3.3-ce.0.el7.x86_64.rpm
warning: gitlab-ce-15.3.3-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.3.3-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-3
#启动postfix服务
[root@localhost ~]# systemctl enable --now postfix

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

#重启配置
[root@localhost ~]# export LANG=en_US.UTF-8
[root@localhost ~]# bahs
[root@localhost ~]# gitlab-ctl reconfigure
...

[root@localhost ~]# ss -antl
State    Recv-Q   Send-Q       Local Address:Port       Peer Address:Port   Process   
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        1024             127.0.0.1:8150            0.0.0.0:*                
LISTEN   0        128                0.0.0.0:22              0.0.0.0:*                
LISTEN   0        1024             127.0.0.1:8151            0.0.0.0:*                
LISTEN   0        1024             127.0.0.1:8153            0.0.0.0:*                
LISTEN   0        100              127.0.0.1:25              0.0.0.0:*                
LISTEN   0        1024             127.0.0.1:8154            0.0.0.0:*                
LISTEN   0        1024             127.0.0.1:8155            0.0.0.0:*                
LISTEN   0        128              127.0.0.1:8092            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             127.0.0.1:9187            0.0.0.0:*                
LISTEN   0        1024             127.0.0.1:9093            0.0.0.0:*                
LISTEN   0        128                  [::1]:9168               [::]:*                
LISTEN   0        128                   [::]:22                 [::]:*                
LISTEN   0        100                  [::1]:25                 [::]:*                
LISTEN   0        1024                     *:9094                  *:*    


[root@localhost ~]# gitlab-ctl restart
ok: run: alertmanager: (pid 143790) 0s
ok: run: gitaly: (pid 143800) 0s
ok: run: gitlab-exporter: (pid 143845) 0s
ok: run: gitlab-kas: (pid 143847) 1s
ok: run: gitlab-workhorse: (pid 143916) 0s
ok: run: logrotate: (pid 143957) 0s
ok: run: nginx: (pid 143964) 1s
ok: run: node-exporter: (pid 144002) 0s
ok: run: postgres-exporter: (pid 144012) 1s
ok: run: postgresql: (pid 144051) 0s
ok: run: prometheus: (pid 144060) 0s
ok: run: puma: (pid 144235) 0s
ok: run: redis: (pid 144240) 0s
ok: run: redis-exporter: (pid 144246) 1s
ok: run: sidekiq: (pid 144502) 0s
#查看当前的gitlab版本
[root@localhost ~]# head -1 /opt/gitlab/version-manifest.txt
gitlab-ce 15.3.3

#破解管理员密码
[root@localhost ~]# gitlab-rails console -e production
--------------------------------------------------------------------------------
 Ruby:         ruby 2.7.5p203 (2021-11-24 revision f69aeb8314) [x86_64-linux]
 GitLab:       15.3.3 (c629a47f87f) FOSS
 GitLab Shell: 14.10.0
 PostgreSQL:   13.6
------------------------------------------------------------[ booted in 16.76s ]
Loading production environment (Rails 6.1.6.1)
irb(main):001:0> user = User.where(id: 1).first
=> #<User id:1 @root>
irb(main):002:0> user.password = '12345678'
=> "12345678"
irb(main):003:0> user.password_confirmation = '12345678'
=> "12345678"
irb(main):004:0> user.save!
=> true
irb(main):005:0> exit

访问网页

image

image

posted on 2022-09-23 00:52  linux-ada  阅读(179)  评论(0编辑  收藏  举报