创建自己的gitlab,两种系统的安装实践总结,一次价值两百的实践

83 阅读3分钟

以前上一些网课的时候,老师总是让我们提交到他的gitlab中,我就一直好奇这种是怎么安装实现的,后来我在网上查找资料,专门租了个服务器(价值不菲,一个月200多)进行练习,得到此篇文章,希望能有所帮助。

centos系统安装

1.安装前置软件

yum install -y curl policycoreutils-python openssh-server openssh-clients postfix cronie lokkit

2.进行环境配置

curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash

3.下载安装包后安装

wget --content-disposition https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/7/gitlab-ce-15.5.3-ce.0.el7.x86_64.rpm/download.rpm

 

 

4.配置外部访问链接

image.png

修改文件

vi /etc/gitlab/gitlab.rb

  在底部添加外部访问的url external_url '你的url'

配置好以后,使用 重新配置

image.png 机器建议在大于2G内存机器上使用,2G配置后无法访问,根据运行状态观察,最好是8G的电脑使用。

image.png

配置成功后输入ip即可在浏览器访问

查看上面的提示中root的密码位置,这个密码只存在24小时,建议查看后进入系统修改

5.访问页面

进入界面,输入root密码登录

  image.png

进入admin管理,可以操作账户

image.png

同意刚才注册的账号后可以让普通账号进入系统中

 

6.连接尝试

下面试试能否正常连接

创建代码仓库

image.png

添加自己的ssh key

先在自己电脑安装git

生产ssh key,git bash 软件的gui模式可以自己生产

  image.png

 

配置到账户设置中即可

image.png

此时即可正常将代码仓库clone下来。

7.配置邮件账户

 

在未配置邮件账户之前,搭建的gitlab平台会自动生成一个邮件账户,大约是你的机器IP前3段,原始邮件不能被回复,可以设置正常邮箱。

image.png 配置文件相关配置如下,找到相关设置后取消设置。

image.png

这里的密码是授权码,可以到邮件设置中查看如何获取,配置的smtp端口最好为587,另一个465在qq邮箱设置不成功。

通过gitlab-ctl reconfigure重新刷新配置

通过命令进入调试命令行

 gitlab-rails console

输入正常邮箱进行调试邮件

Notify.test_email(mail@163.com', 'Message Subject', 'Message Body').deliver_now

 

image.png

此时就能收到设置好的邮件。使用者可以进行回复操作。

 

 

8.备份数据

在配置文件取消这三项的注释后重新刷新配置。

image.png   

刷新后执行以下命令备份

gitlab-rake gitlab:backup:create

image.png

从执行结果来看,数据保存在了设置中没有取消注释的位置,提示也说明了配置文件需要自己备份。

在对应位置可以找到备份的压缩包

image.png

参照上面的备份文件,还原数据时,需要先还原配置,再执行以下命令

 gitlab-rake gitlab:backup:restore BACKUP=1668347578_2022_11_13_15.5.3

最后通过gitlab-ctl restart重启服务。

备份命令可以通过crontab进行定时操作。

Ubuntu安装

安装依赖项和电子邮件

sudo apt-get update

sudo apt-get install -y curl openssh-server ca-certificates tzdata perl

sudo apt-get install -y postfix

配置软件源并安装

curl -fsSL packages.gitlab.cn/repository/… | /bin/bash

sudo EXTERNAL_URL="gitlab.example.com" apt-get install gitlab-jh

 

安装时可以提前将EXTERNAL_URL换成自己的IP。如果没有,则还需要按照上一个业务第四步处理。

其他的配置都是一样的了。