GitLab部署全攻略,成功打造自己的代码托管神器

GitLab部署

GitLab简介

GitLab 是一个用于仓库管理系统的开源项目。使用Git作为代码管理工具,并在此基础上搭建起来的web服务。可通过Web界面进行访问公开的或者私人项目。它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序(Wall)进行交流。它还提供一个代码片段收集功能可以轻松实现代码复用。

gitlab主要用于私用,github主要用于公网,都可看成web版的git

Community Edition or Enterprise Edition,ce和ee分别指的是社区版和企业版,毫无疑问社区版已经能满足我们的需求了。

常用的网站

官网 : https://about.gitlab.com/

https://packages.gitlab.com/gitlab/gitlab-ce CE版下载地址

https://packages.gitlab.com/gitlab/gitlab-ee EE版下载地址

国内镜像 :https://mirrors.tuna.tsinghua.edu.cn/gitlab‐ce/yum/

image20200407140627737.png

image20200407140745198.png

安装与配置

CentOS 安装

  • 环境:CentOS 8
  • 关闭selinux和防火墙
安装依赖包
dnf install -y curl policycoreutils openssh-server postfix
systemctl enable sshd
systemctl start sshd
systemctl enable postfix
systemctl start postfix
联网安装
[root@zutuanxue ~]# vim /etc/yum.repos.d/gitlab-ce.repo 
[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
gpgcheck=0
enabled=1

[root@zutuanxue ~]# dnf install gitlab-ce -y


(
如果安装比较慢的话也可以从https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el8/下载rpm包到本地进行安装
[root@zutuanxue ~]# yum localinstall gitlab-ce-12.9.2-ce.0.el8.x86_64.rpm 
)
配置
[root@zutuanxue ~]# vim /etc/gitlab/gitlab.rb 
external_url 'http://192.168.2.100'


#修改为本机的名称或者IP地址

###(
GitLab默认会占用80、8080和9090端口,如果服务器上还有tomcat、Jenkins等其他服务,可能会遇到端口冲突,如果想修改端口的话可以
external_url 'http://192.168.2.100:自定义端口'
unicorn['port'] = xxx
prometheus['listen_address'] = 'localhost:xxx'
将xxx更换成自己需要使用的端口
###)
[root@zutuanxue ~]# gitlab-ctl reconfigure
#修改完成之后重新配置gitlab
命令和目录

/opt/gitlab/ # gitlab的程序安装目录

/var/opt/gitlab # gitlab数据目录

/var/opt/gitlab/git‐data # 存放仓库数据

命令function
start启动所有服务
stop关闭所有服务
restart重启所有服务
status查看所有服务状态
tail查看日志信息
service-list查看所有启动服务
graceful-kill平稳停止一个服务
help帮助
reconfigure修改配置文件之后,重新加载
show-config查看所有服务配置文件信息
uninstall卸载这个软件
cleanse清空gitlab数据
[root@zutuanxue ~]# gitlab-ctl start
ok: run: alertmanager: (pid 1564) 3804s
ok: run: gitaly: (pid 1550) 3804s
[root@zutuanxue ~]# gitlab-ctl start nginx
ok: run: nginx: (pid 1531) 3823s

#这些操作指令,如果不指定名称的话,默认会操作所有
Gitlab的服务构成
[root@zutuanxue ~]# gitlab-ctl service-list
gitaly*	git RPC服务,用于处理gitlab发出的git调用
gitlab-workhorse*	轻量级的反向代理服务器
logrotate*	日志文件管理工具
nginx*	静态web服务
postgresql*	数据库
redis*	缓存数据库
sidekiq*	用于在后台执行队列任务
unicorn*	用Ruby编写的web server,GitLab Rails应用是托管在这个服务器上面
alertmanager*,gitlab-exporter*,grafana*,node-exporter*,postgres-exporter*,prometheus*,redis-exporter*	#与监控相关的插件

在浏览器中访问本机,就可以打开登录界面,初次登录必须修改密码(不能少于8位),更改完成后可以使用管理员账号登录,用户名为root

2.4、gitlab汉化

1、浏览器设置中文后重新打开

2、点击右上角头像,选择设置(settings)

3、左边选择preferences–>languages—>save

4、刷新页面

如果还是有问题

[root@zutuanxue ~]# dnf groupinstall chinese-support#安装中文支持
[root@zutuanxue ~]# dnf install ibus*	#安装输入法
#重启后在系统设置更改语言环境为中文

image20200407163323541.png

Ubantu安装

  • 运行 Ubuntu 22.04 或 20.04 且具有 SSH 访问权限的虚拟或专用服务器。
  • 静态主机名(gitlab.howie.top
  • 具有管理员权限的 Sudo 用户
  • 2GB 内存或更多
  • 2 个或更多 vCPU
  • 互联网连接

安装依赖

sudo apt update
sudo apt-get upgrade
sudo apt install build-essential ca-certificates curl file git openssh-server
sudo DEBIAN_PRIORITY=low apt install postfix

安装postfix时会出现一系列界面交互选项,可以参考以下配置:

General type of mail configuration?: Internet Site
System mail name: howietron.com
Root and postmaster mail recipient: howietron
Other destinations to accept mail for: $myhostname, howietron.com,
mail.howietron.com, localhost.howietron.com, localhost
Force synchronous updates on mail queue?: No
Local networks: 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
Mailbox size limit: 0
Local address extension character: +
Internet protocols to use: all

添加GitLab的包并进行安装

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh |sudo bash 
sudo apt-get install gitlab-ce 

网络可能不好,需要重试几次

PS:也可以直接下载安装包
下载安装包,访问链接:

https://packages.gitlab.com/gitlab/gitlab-ce

wget --content-disposition https://packages.gitlab.com/gitlab/gitlab-ce/packages/ubuntu/xenial/gitlab-ce_12.1.4-ce.0_amd64.deb/download.deb

本地安装

dpkg -i gitlab-ce_12.1.4-ce.0_amd64.deb

出现以下提示,表示安装成功

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

配置GitLab

PS:unbuntu 下vi 输入i 不进入insert插入模式
以下命令可能执行不了原因是ubuntu预装的是vim tiny版本,需要的是vim full版本 —执行 sudo apt install vim

vim /etc/gitlab/gitlab.rb

配置页面访问路径external_url,可根据你实际ip填写

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

配置smtp邮件系统(根据实际情况配置),smtp_enable_starttls_auto、smtp_tls和smtp_pool不能同时开启(网上有些教程都是true,是不对的,在实际操作中是会报错的)

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.163.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "填写你自己的@163.com"
gitlab_rails['smtp_password'] = "授权码"
gitlab_rails['smtp_domain'] = "163.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = false
gitlab_rails['smtp_tls'] = true
gitlab_rails['smtp_pool'] = true
gitlab_rails['gitlab_email_from'] = 'howietron@163.com'

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

配置外部数据库,该项配置可以不用配置(gitlab已经内置),之所以配置方便后期管理

gitlab_rails['db_adapter'] = "postgresql"
gitlab_rails['db_encoding'] = "utf8"
# gitlab_rails['db_collation'] = nil
gitlab_rails['db_database'] = "postgresql"
gitlab_rails['db_username'] = "postgresql"
gitlab_rails['db_password'] = "addddzGYmMc"
gitlab_rails['db_host'] = "10.0.31.164"
gitlab_rails['db_port'] = 15432

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

注意:Gitlab 官方宣布,将从 12.1 版本开始不再支持 MySQL 数据库。早在 2017年7月,Gitlab 就计划将弃用对 MySQL 的支持。如果想用mysql的话建议使用12版本的gitlab。

修改完毕以后按esc键退出编辑模式,然后输入:wq保存即可。接下来通过下列命令重启服务。

# 停止gitlab服务 
sudo gitlab-ctl stop
# 启动gitlab服务 
sudo gitlab-ctl reconfigure
# 重启所有gitlab组件 
sudo gitlab-ctl restart
# 启动所有gitlab组件 
sudo gitlab-ctl start
# 启用开机自启动
sudo systemctl enable gitlab-runsvdir.service

初始化root的密码

按照如下命令初始化管理员账户的密码:

#切换路径
cd /opt/gitlab/bin/
#打开控制台
sudo gitlab-rails console -e production
#查询用户账号信息并赋值给u
u=User.where(id:1).first
#设置root的密码
u.password='Asd1234'
#确认密码
u.password_confirmation='wxy123456'
#保存信息(注意有个感叹号)
u.save!
#退出
exit

接下来就可以通过http://10.0.31.164:10000/来登录gitlab了。登录的地址是你之前设置external_url字段的值。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

gitlab卸载

1.您可能想要完全卸载GitLab以及其所有数据,我将向您展示如何操作!

 *******************************************************************
* * * * * * * * * * *       STOP AND READ       * * * * * * * * * *
*******************************************************************
This command will delete *all* local configuration, log, and
variable data associated with gitlab.

You have 60 seconds to hit CTRL-C before configuration,
logs, and local data for this application are permanently
deleted.
*******************************************************************

停止gitlab服务

sudo gitlab-ctl stop

这将删除关于gitlab的所有文件和数据!

sudo gitlab-ctl uninstall
sudo gitlab-ctl cleanse
sudo gitlab-ctl remove-accounts

使用的软件包管理器卸载gitlab-ce或gitlab-ee:

sudo dpkgP gitlab-ce

接下来只需要删除剩余的内容:

rm -rf /opt/gitlab*
rm -rf /var/opt/gitlab*
rm -rf /etc/gitlab*
rm -rf /var/log/gitlab*

最后,还要从apt源中删除条目:

rm /etc/apt/sources.list.d/runner_gitlab-runner.list*
rm /etc/apt/sources.list.d/gitlab_gitlab-ee.list*
rm /etc/apt/sources.list.d/gitlab_gitlab-ce.list*

删除之后,可以使用apt update刷新软件包源。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值